http解析
http报文大体可以分为三部分:起始行,头部和报文体。
#
http报文详解#
起始行起始行由请求方法(如GET,POST...),请求路径,http协议版本,由"\r\n"结尾。
a.请求行
请求报文请求服务器对资源进行一些操作。请求报文的起始行,或称为请求行,包含了一个方法和一个请求URL,这个方法描述了服务器应该执行的操作,请求URL描述了要对哪个资源执行这个方法。请求行中还包含HTTP 的版本,用来告知服务器,客户端使用的是哪种HTTP。所有这些字段都由空格符分隔。
例如:POST /a?id=1 HTTP/1.1
b.响应行
响应报文承载了状态信息和操作产生的所有结果数据,将其返回给客户端。响应报文的起始行,或称为响应行,包含了响应报文使用的HTTP 版本、数字状态码,以及描述操作状态的文本形式的原因短语。 所有这些字段都由空格符进行分隔。
例如:HTTP/1.1 200 OK
#
报文头部报文头部由头部字段名,字段值组成,由"\r\n"结尾。
报文头部一般有通用头部,请求头部,响应头部。
#
常见通用头部#
常见请求头#
常见响应头#
请求体其中包含了所有类型的数据。 请求主体中包括了要发送给Web 服务器的数据;响应主体中装载了要返回给客户端的数据。 起始行和首部都是文本形式且都是结构化的,而主体则不同,主体中可以包含任意的二进制数据(比如图片、视频、音轨、软件程序)。 当然,主体中也可以包含文本。