介绍

http超文本传输协议是用户客户端和服务器之间通信的协议
它可以传输如何数据类型【字符、字节】

组成

请求数据组成

请求方法 空格 URL 协议版本 \r\n
头部字段 : \r\n
头部字段 : \r\n
\r\n
请求体(请求数据)

请求头部字段包含:请求首部字段通用首部字段实体首部字段其他

  1. GET /tools.html HTTP/1.1
  2. Host: xxx.com
  3. Accept: text/html
  4. Accept-language: en

响应数据组成

协议版本 空格 状态码 空格 状态
头部字段 : \r\n
头部字段 : \r\n
\r\n
响应数据(包含前端数据、文本、图片等)

响应头部字段包含:响应首部字段通用首部字段实体首部字段其他

  1. HTTP/1.1 200 OK
  2. Date: Fri, 8 Apr 2022 01:38:26 GMT
  3. Server: Apache
  4. Content-Type: text/html
  5. <html><head></head>...</html>

请求方式

  1. GET(获取资源)
    1. 数据没有请求体,能通过路径传参 url?k=v&k=v
    2. 路径有大小限制,只能传字符,最大容量为2kb
    3. GET请求效率高
  2. POST(传输实体主体)
    1. 能通过路劲传参和请求体传参
    2. 请求体没有大小限制,能传递任何数据[字节、字符]
    3. POST请求效率偏低
  3. HEAD(获取报文首部)
    1. 与get相同,但不返回报文主体
  4. OPTIONS(询问支持的请求方式)

    1. 响应在头部字段返回支持的请求方式
    2. Allow: GET, POST, HEAD, OPTIONS

      响应状态

  5. 1xx:中继状态,请求还未完成

  6. 2xx:请求成功
    1. 200:完全请求成功
    2. 202:部分数据请求成功
  7. 3xx:重定向
    1. 302:转发请求
  8. 4xx:客户端错误
    1. 404:资源未找到
    2. 405:请求方式错误
  9. 5xx:服务器错误
    1. 500:服务器执行请求发生异常
    2. 503:服务器暂时处于超负载状态或正在停机维护