HTTP 报文格式

本文详细介绍了HTTP协议中的请求报文和响应报文结构,包括请求行、请求头、请求体和响应行、响应头、响应体。重点讨论了GET和POST请求方法的差异,GET用于安全、幂等的资源获取,而POST用于提交数据,可能会改变服务器状态。同时,列举了常见状态码及其含义,以及请求头和响应头的关键字段。
摘要由CSDN通过智能技术生成

HTTP 有两类报文:请求报文和响应报文。

请求报文

在这里插入图片描述

请求报文由请求行、请求头、请求体组成:

  • 请求行由请求方法、URL 和 HTTP 版本组成。常见的请求方法有 get 和 post。它们区别在于:
    • GET 的参数写在 URL 中,而 POST 的参数写在报文 body 中。
    • GET 是从服务器获取资源,而 POST 是向指定的资源提交数据。
    • GET 是只读操作,不会破环服务器的资源,且多次重复操作的结果都相同,所以 GET 是安全且幂等的。而 POST 是提交操作,会破环服务器资源,且多次重复操作的结果都不同,所以 POST 是不安全且不幂等的。
  • 请求头主要有:
    • User-Agent 浏览器信息
    • Accept 浏览器能接受的内容类型
    • Content-Type 内容类型
    • Content-length 内容长度
    • Host 服务器域名。
  • 请求体在 POST 方法中使用,存储待提交的数据。

响应报文

在这里插入图片描述

响应报文由响应行、响应头、响应体组成:

  • 响应行由 HTTP 版本、状态码及其文本描述组成。常见的状态码有:
    • 1xx 表示提示
    • 2xx 表示服务器成功处理请求。包括: 200:一切正常。204:与 200 类似,但响应头没有 body 数据。206:在 HTTP 分块时,表示一切正常。
    • 3xx 表示重定向。包括: 301 永久重定向。302 临时重定向,区别在于请求的资源是否还在。
    • 4xx 表示客户端发送的报文有误。包括: 400:通用的错误码。403:表示服务器禁止访问资源。404:表示请求的资源不在服务器上。
    • 5xx 表示服务器处理时出错。包括: 500:通用的错误码。501:表示请求的功能还未支持。502:表示服务器工作正常,但访问后端服务器发生了错误。503:表示服务器很忙,暂时无法响应。
  • 响应头主要有:Server 服务器信息、Content-Type 内容类型、Content-length 内容长度。
  • 响应体存储响应的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值