HTTP请求报文和响应报文,有哪些关键字段

HTTP全称是Hypertext Transfer Protocol 超文本传输协议。也就是在计算机世界里在两点之间传输像图片,文字,视频,网页等超文本的规范和约定。HTTP协议也是在网络模型中的应用层,是用户直接参与的一层协议。
HTTP请求报文包括请求行,请求头,请求体。请求行包括HTTP协议和请求方法以及URI: GET WWW.baidu.com HTTP1.1
请求头是一系列键值对组成,是HTTP连接的一系列参数,比如Connection: keep-alive就是HTTP1.1中的保持持久化连接。以及像HOST就是请求的主机名,User-Agent:就包括了一系列客户端的类型信息。请求体是一些请求参数,这个是可选项,比如GET方法就将请求参数放在了URL中
![[Recording 20241024094455.webm]]

HTTP响应报文是由状态行,响应头,响应体组成。
状态行是HTTP版本+状态码+状态描述组成
响应头也是一些列键值对,提供了服务器的信息和相应的上下文。比如Content-TYPE是相应的MIME类型。Content-Length就是相应的内容长度
响应体是相应的数据,比如HTML/CSS/JSON或者其他响应资源

HTTP状态码有哪些?

  • 1XX: 中间态,表示请求已经接收到, 还在进行处理中,客户端需要等待进一步的响应
  • 2XX: 服务器成功处理请求
    • 200 OK: 表示响应已经正确处理
    • 201 Created: 用于POST,表示资源已经成功创建
    • 204 No Content, 表示请求成功,但是服务器并没有返回内容
    • 206 Partial Content: HTTP分块下载内容,表示返回的资源并不是全部而是部分资源,一般用于大的数据处理。
  • 3XX:重定向,客户端请求的资源发生了改变
    • 301 Move permanently: 永久重定向,会返回一个新的URL进行解析访问。浏览器会进行资源缓存
    • 302 Found:暂时重定向,请求资源还在,但是会暂时用新的URL进行访问。浏览器不会缓存资源
    • 304 Not Modified: 资源没有被修改,可以直接使用已经缓存的资源
  • 4XX:请求或响应出现了问题
    • 400 Bad Request: 客户端请求出现错误
    • 403 Forbidden:服务器禁止访问资源,客户端没有权限
    • 404 Not Found: 资源在服务器没有查找到
  • 5XX: 服务器内部出现了问题
    • 500 Internal Server Error: 服务器出现错误
    • 501 Not Implement: 客户端对于该功能还没有完善
    • 502 Bad gateway: 服务器作为网关/代理返回,上游服务器发送了错误的响应
    • 503 Service unavailable: 服务器很忙无法响应