HTTP协议

HTTP协议特点

  • 简单

只需要URL和方法即可

  • 灵活

1、允许传送任意类型的文件类型。只需要使用content-type标示就行

2、每次链接传送完成后即断开

  • 无状态

对处理的事务无记忆能力

HTTP工作原理

1、HTTP协议在TCP/IP协议簇中的位置:

2、HTTP工作原理:

  1. 根据TCP协议,客户端、服务端先进行三次握手(请求协议都是TCP
  2. 连通后,根据HTTP协议,客户端向服务端发起请求(此时请求协议为HTTP
  3. 服务端接收请求,处理后返回给客户端(此时请求协议为HTTP
  4. 断开链接

注意:最少有5次链接的产生(3次TCP握手+HTTP请求+HTTP返回)

3、HTTP请求组成:

  1. 请求行

    请求方法 + 请求路径 + HTTP协议版本

    注意:
    1、【请求路径】只有服务器根目录下的路径,不包含域名。如:/admin/login;
    2、【请求路径】也可以包含路径参数,如:/admin/login?user=111&pwd=222

  2. 请求头

    参数名 :值

    注意:请求头都是【键值对】,域名、cookie等都在请求头中

  3. 请求体(正文)

    传给服务器的数据,一般为json格式

  4. 空行

    只是用作隔绝请求头和请求正文的间隔作用,方便程序找到正文。独特标识为:

4、HTTP响应组成

  1. 响应行

    HTTP协议版本 + 状态码

  2. 响应头

    参数名 :值

    注意:响应头都是【键值对】

  3. 响应体(正文)

    返回处理后的数据,一般为json格式

    注意:

    【Connection: keep-alive】意思是“长连接”。
    1、HTTP/1.1协议默认打开长连接。

    2、一个html页面会有多个HTTP请求资源,但是都依靠一个TCP连接就够了的意思。

原文地址:https://www.cnblogs.com/ifagain/p/14145425.html