参考: Http请求报文格式和响应报文格式 - 腾讯云开发者社区-腾讯云 (tencent.com)
请求报文格式
- 请求行的作用是:请求方法、URL(请求资源)、协议版本。请求方法包括GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE以及扩展方法,当然并不是所有的服务器都实现了所有的方法,部分方法即便支持,处于安全性的考虑也是不可用的
- URL地址中如果包含中文,浏览器会自动对中文字符进行编码之后再发送。协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1
- 请求头部:用于描述客户端请求的哪台主机、以及客户端本身的一些信息、服务端响应的格式
- 请求包体:Get请求时就没有,Post中放的是表单提交时的键值对,例如json格式:{"
name":"c","age":10}
| 请求头 | 作用 |
|---|---|
| Host | 接受请求的服务器地址,可以是IP地址+端口号 ,也可以是域名 |
| user-Agent | 发送请求的应用程序名称 |
| Connection | 指定与TCP连接相关的属性,如Connection:Keep-Alive、Close |
| Accept-Charset | 通知服务端可以发送的编码格式 |
| Accept-Encoding | 通知服务端可以发送的数据压缩格式 |
| Accept-Language | 通知服务端可以发送的语言 |
| Content-Type | 表单提交时才有可能出现,表示表单数据的类型 |
| Upgrade-Insecure-Requests | 告诉服务器,浏览器可以处理Https协议 |
响应报文格式
- 状态行用于描述服务器对请求的处理结果
- 消息头用于描述服务器的基本信息,以及数据的描述,服务器可以通过对这些数据的描述信息,通知客户端如何处理等一会儿它回送的数据
- 响应实体 :服务器向客户端发送的数据
状态行
常见状态码:
- 1xx:指示信息--表示请求已接收,继续处理。
- 2xx:成功--表示请求已被成功接收、理解、接受。
- 3xx:重定向--要完成请求必须进行更进一步的操作。
- 4xx:客户端错误--请求有语法错误或请求无法实现。
- 5xx:服务器端错误--服务器未能实现合法的请求。
常见状态码、状态描述如下