HTTP协议 (超文本传输协议)

1.用途 : 网页获取,数据的传输

2.特点:

  • 应用层协议,传输层使用tcp传输
  • 简单,灵活,很多语言都有HTTP专门接口
  • 无状态,协议不记录传输内容
  • http1.1 支持持久连接,丰富了请求类型

3.网页请求过程

  1. 客户端(浏览器)通过tcp传输,发送http请求给服务端
  2. 服务端接收到http请求后进行解析
  3. 服务端处理请求内容,组织响应内容
  4. 服务端将响应内容以http响应格式发送给浏览器
  5. 浏览器接收到响应内容,解析展示

Python网络编程—TCP套接字之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()
http 请求响应示例

相关文章:

  • 2021-12-29
  • 2021-10-30
  • 2022-12-23
  • 2022-12-23
  • 2022-02-09
  • 2021-06-16
  • 2021-06-02
  • 2022-12-23
猜你喜欢
  • 2021-06-13
  • 2022-12-23
  • 2021-12-31
  • 2021-12-26
  • 2021-09-20
  • 2021-07-06
  • 2021-12-30
相关资源
相似解决方案