对请求报文和响应报文的简要分析
对请求报文和响应报文的简要分析
报文分为请求报文、响应报文。
请求报文:从客户端发往服务器的报文叫请求报文
响应报文:服务器收到请求报文后,作为响应发往客户端的报文称为响应报文
请求报文和响应报文的格式都是一样的,HTTP报文格式主要包含三个部分:起始行、首部字段、主体
起始行:请求报文的起始行 说明这个HTTP请求的需求,如获取数据的方法、资源以及HTTP协议版本等信息。
响应报文的起始行 说明服务器的响应情况,如HTTP/1.0 200 OK,说明服务器的响应情况为200 OK。
首部字段:在HTTP的报文起始行后面往往有多个首部字段(非必须),这些字段都以 Key:value的格式发出,首部以一个空行结束(空行后面就是主体,也可能没有主体)
常见的请求报文首部字段有:
Accept:text/html,application/xhtml+xml,application/xml;客户端可识别的内容类型列表
Accept-Encoding:gzip, deflate 会将客户端能够理解的内容编码方式进行通知(通常是压缩算法)
Accept-Language:zh-CN,zh;q=0.8 设置接受语言
Connection:keep-alive 保持长连接
Cookie:balabala.... cookie信息
Host:www.myweb.com 服务器主机地址
响应报文中的首部字段有:
Connection:keep-alive 保持长连接
Content-Encoding:gzip 告知服务器对主体部分选用的内容编码方式
Content-Type:text/html; charset=utf-8 说明主体内对象的媒体类型
Date:Thu, 29 Mar 2018 08:20:03 GMT 服务器产生响应的日期
Server:openresty HTTP 服务器的安装信息
主体:
报文主体就是报文的主要数据部分,它可以是任意数据类型的数据。比如请求主体中包含了要发给服务器的数据,响应主体中装载了要返回给客户端的数据。
起始行和首部都是文本化且具有特定结构的,主体则可包含所有二进制数据和文本。