HTTP 请求协议

HTTP

HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种网络传输协议。定义了数据传输格式。

特点:

  1. 基于TCP/IP的高级协议
  2. 默认端口号:80
  3. 基于请求/响应模型的:一次请求对应一次响应
  4. 无状态的:每次请求之间相互独立,不能交互数据
  • 1.0版本:一次访问有很多请求,而每一次请求响应会建立一个新连接,完成后断开。连接会多次建立多次断开。
  • 1.1版本:一次访问的多个请求,复用一个连接。

请求消息由四部分组成,请求行(request line)、请求头(header)、空行和请求体四个部分组成;

请求消息格式如下:

请求行 // 请求方式 请求的资源路径 协议/版本,例如: GET /sample.jsp HTTP/1.1。
请求头 // 请求头名称:请求头内容,即为key:value格式,例如: Host:localhost 。
请求空行 // 用来与请求体分隔开
请求体(请求正文) // GET没有请求体, 只有POST有请求体。


请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息:username=jinqiao&password=1234

在这里插入图片描述
Host 头指定请求资源的Intenet主机和端口号;
User-Agent 头的内容包含发出请求的用户浏览器信息。
等等。

响应消息由四个部分组成,分别是:响应行、响应头、响应空行和响应体。
响应消息格式如下:

响应行 // 协议/版本 响应状态吗 状态码描述。
响应头 // 响应头名称:响应头内容,即为key:value格式
响应空行 // 用来与请求体分隔开
响应体(响应正文) // HTML 页面的内容

在这里插入图片描述