http请求报文和响应报文
前言
http协议是一个应用层协议,其报文分为请求报文和响应报文
当客户端请求一个网页时,会先通过http协议将请求的内容封装在http请求报文之中,服务器收到该请求报文后根据协议规范进行报文解析,然后向客户端返回响应报文。
http报文结构为:
起始行
对报文进行描述
头部
向报文中添加了一些附加信息,是一个名/只的列表,头部和协议配合工作,共同决定了客户端和服务器能做什么事情
例如:Content-Length(主体长度),Content-Type(主体类型)等。
主体
包含数据的主体部分
接下来详细介绍一下http请求报文和响应报文。
请求报文
下面是我用wireshark捕捉到的一个http请求报文,我们来分析一下它。
起始行
在请求报文中,起始行包括了3个部分:
请求的方法(POST)
请求的URL(/cgi-bin/qqshow_user_props_info)
协议类型及版本(HTTP/1.1)
请求方法
在本例中请求的方法是POST,http中请求方法有以下8种(其中比较常用的是GET,POST,HEAD):
1.OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2.HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3.GET
向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现