HTTP协议分析
1 实验目的
分析HTTP协议报文首部格式,理解HTTP协议工作过程
2 实验内容
截获HTTP报文,分析HTTP协议报文首部格式,学习HTTP协议工作过程。
3 实验原理
超文本传送协议HTTP(HyperText Transfer Protocol),是万维网客户程序与万维网服务器程序之间的交互所要严格遵守的协议。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。对于万维网站点的访问要使用的HTTP协议。
HTTP的URL的一般形式是:
http://<主机>:<端口>/<路径>
WWW采用 B/S 结构,客户使用浏览器在 URL栏中输入 HTTP 请求,即输入对方服务器的地址,向 web 服务器提出请求。如访问师院的机构设置页面
/jigou/gljg.htm,具体的工作过程如下:
(1) 浏览器分析指向页面的URL.
(2) 浏览器向DNS请求解析的IP地址。
(3) 域名系统DNS解析出师院服务器的IP地址
(4) 浏览器与服务器建立TCP连接
(5) 浏览器发出取文件命令:GET /jigou/gljg.htm.
(6) 服务器给出响应,将文件 gljg.htm发送给浏览器。
(7) TCP连接释放。
(8) 浏览器显示“北航机构设置”的页面。
服务器提供的默认端口号为80.
4 实验步骤
步骤 1 在计算机上打开wireshark软件,进行报文截获。
步骤 2 从浏览器上访问页面,具体操作为打开网页,浏览,关掉网页。
步骤 3 停止wireshark的报文截获,结果命名为http_学号,保存在本机或上
传至服务器目录下。
步骤 4 分析截获的报文,回答以下问题:
(1)分析HTTP协议报文:从众多HTTP报文中选择两条报文,一条是HTTP 请求报文
(即get 报文),另一条是HTTP应答报文,将报文信息填入表281.
表2-8-1 HTTP报文
No. Source Destination Info.
1194.388543 202.196.246.39 202.196.245.250 GET /HTTP/1.0 1204.392962 202.196.245.250 202.196.246.39 HTTP/1.1 304 Not Modified
(2)分析HTTP协议请求报文格式:分析(1)中选择的HTTP请求报文(即 get 报文)
中各字段的实际值并填写表282。
表2-8-2 HTTP 请求报文格式
字段名字段取值字段表达信息
方法字段GET 获得指定URL下的
文件
URL / 资源的位置
版本字段HTTP/1.0 支持的http版本
首部字段Accept:*/*\r\n 客户端可识别的内
容
Referer:/\r\n 允许客户端指
定请求uri的源资
源地址
Accept-Language:zh-cn\r\n 客户端能解释的语
言—简体中文
Proxy-Connection:keep-A-Live\r\n 支持修改的用户代
理
If-Modified-since:Thu,02Apr 200901:57:45GMT\r\n 客户只想要比指
定日期更新的文档
If-None-Match:”66db9966a36b3c91:6ac7”\r\n 资源的ETag不与列
表中的任何一个条
件匹配,操作才执行
User-Agent:Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1)\r\n 定义用于产生请求的软件类型
Host:\r\n 提交请求页面
Cookie:AJSTAT_ok_pages=4;AJSTA T_ok_times=1\r\n 编号
(3)分析HTTP协议应答报文格式:结合预习报告,分析(1)中选择的HTTP 应答报文中各字段的实际值并填写表283。
表2-8-3 HTTP 应答报文格式
字段名字段取值字段表达信息版本字段HTTP/1.1 支持的http版
本
状态码304 未按预期修改
文档
短语Not Modefied 没有被修改首部字段Content-Location:/Default.htm\r\n 重定向接收
者到一个新
URI地址
Last-Modified: Fri, 11 Nov 2011 03:03:47 GMT\r\n 指定服务器上保存内容的最后修订时间
Accept-Ranges: bytes\r\n 可以请求实
体的一个或
者多个子范
围
ETag: "f69b95871ea0cc1:c379"\r\n 用于确定实际
被发送的资源
是否为同一资
源
Server: Microsoft-IIS/6.0\r\n 用于确定实际
被发送的资源
是否为同一资
源
X-Powered-By: \r\n
Date: Tue, 13 Dec 2011 09:27:54 GMT\r\n 消息发送的
时间
Connection: close\r\n 用于表明是否
保存socket连
接为开放的通
用头标
(4)综合分析截获的数据报文,概括 HTTP 协议的工作过程(从在浏览器上输入网址,到出现网页,关闭网页),将结果填入表284.
表2-8-4 综合分析HTTP报文
步骤所包括的报文信号主要完成的功能(目的)DNS解析过程
TCP连接的建立过程
HTTP的文件传输过程
TCP连接释放过程
实验总结:通过在上网过程中截获报文,分析HTTP协议的报文格式和工作过程。