HTTP协议 (超文本传输协议)
1.用途 : 网页获取,数据的传输
2.特点:
- 应用层协议,传输层使用tcp传输
- 简单,灵活,很多语言都有HTTP专门接口
- 无状态,协议不记录传输内容
- http1.1 支持持久连接,丰富了请求类型
3.网页请求过程
- 客户端(浏览器)通过tcp传输,发送http请求给服务端
- 服务端接收到http请求后进行解析
- 服务端处理请求内容,组织响应内容
- 服务端将响应内容以http响应格式发送给浏览器
- 浏览器接收到响应内容,解析展示
HTTP请求(request)
1.请求行 : 具体的请求类别和请求内容
GET / HTTP/1.1请求类别 请求内容 协议版本
请求类别:每个请求类别表示要做不同的事情
GET : 获取网络资源-
POST :提交一定的信息,得到反馈 -
HEAD : 只获取网络资源的响应头 -
PUT : 更新服务器资源 -
DELETE : 删除服务器资源 -
CONNECT -
TRACE : 测试 -
OPTIONS : 获取服务器性能信息
2.请求头:对请求的进一步解释和描述
Accept-Encoding: gzip
3.空行
4.请求体: 请求参数或者提交内容
1 from socket import * 2 3 s = socket() 4 s.bind(('0.0.0.0',8001)) 5 s.listen(3) 6 c,addr = s.accept() 7 print("Connect from",addr) 8 data = c.recv(4096) 9 print(data) 10 11 data = """HTTP/1.1 200 OK 12 Content-Type:text/html 13 14 <h1>Hello world</h1> 15 """ 16 c.send(data.encode()) 17 18 c.close() 19 s.close()