HTTP协议(一)请求响应报文格式

216 阅读2分钟

参考: Http请求报文格式和响应报文格式 - 腾讯云开发者社区-腾讯云 (tencent.com)

请求报文格式

image.png

  • 请求行的作用是:请求方法、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协议

响应报文格式

image.png

  • 状态行用于描述服务器对请求的处理结果
  • 消息头用于描述服务器的基本信息,以及数据的描述,服务器可以通过对这些数据的描述信息,通知客户端如何处理等一会儿它回送的数据
  • 响应实体 :服务器向客户端发送的数据

状态行

常见状态码:

  • 1xx:指示信息--表示请求已接收,继续处理。
  • 2xx:成功--表示请求已被成功接收、理解、接受。
  • 3xx:重定向--要完成请求必须进行更进一步的操作。
  • 4xx:客户端错误--请求有语法错误或请求无法实现。
  • 5xx:服务器端错误--服务器未能实现合法的请求。

常见状态码、状态描述如下

image.png

响应头部

image.png