http请求报文
http报文由第三部分组成:分别是请求行,消息报头,请求正文
请求行
请求行主要包括http请求的种类/方法,请求资源的路径,http协议版本三部分。
请求的种类/方法
定义了服务器收到请求后的动作(说白了就是服务器接收到请求后要干什么 )
常用的主要有两种:GET和POST
- GET:请求指定的负面信息,并返回实体主题。
- POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
- HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头OPTIONS:它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Alow”的头,值是所支持的方法,如“GET,POST”。
- TRACE:回显服务器收到的请求,主要用于测试或诊断。PUT:从客户端向服务器传送的数据取代指定的文档的内容。
- PUT:从客户端向服务器传送的数据取代指定的文档的内容。DELETE :请求服务器删除指定的页面。
- MOVE:请求服务器将指定的页面移至另一个网络地址。
- COPY:请求服务器将指定的页面拷贝至另一个网络地址。
注意:出于安全考虑,通常要求服务器只允许使用GET和POST方法,两者之间最大的区别是GET请求的所提交的所有数据都在URL中体现,不利于提交复杂的数据,且安全性相对较低,而POST请求可以将主要数据放在请求正文中提交,常用于提交复杂数据(如图像、文件等)或敏感信息(如用户鉴权)
请求报文的消息报头
请求消息报头说明了客户端的基本信息,以及如何与客户端进行交互,消息报头由多行组成,每行由key:value的形式体现,每行末尾包括一个回车换行符(%0a%0d),消息报头结尾以两个回车换行符(%0a%0d)作为结束
请求正文
可以为空
http响应报文
http响应报文也由三部分组成:状态行,消息报头,响应正文
状态行
包括:http协议版本,状态码,状态描述,以空格符(%20)分隔,以回车换行符结尾(%0d%0a)
响应报文的消息报文
请求响应报头说明了服务端的基本信息,客户端如何返回处理信息等,消息报头由多行组成,每行由key:value的形式体现,每行末尾包括一个回车换行符,消息报头末尾以两个回车换行符(%0a%0d),消息报头末尾以两个回车换行符(%0a%0d)作为结束