计算机科学与技术学院实验报告
课程名称 | 计算机网络 | 实验类型 | 综合 |
实验名称 | 实验六 超文本传送协议HTTP | ||
重点难点 | 重点:超文本传送协HTTP; 难点:超文本传送协HTTP,正确分析其内容。 | ||
实验目的 | 1了解超文本传送协议HTTP; 2 学习超文本传送协议HTTP,并正确分析其内容。 | ||
实验环境 | Windows 操作系统、Wireshark网络分析软件、实验文件“HTTP分析.cap”、可以接入互联网的主机 | ||
实验步骤 |
2.抓取HTTP分组,并正确分析其内容 2.1依次执行以下命令: ipconfig /flushdns ;删除本机上的DNS域名解析列表 清除IE内的页面缓存; 启动Ethereal,扑获当前网络接口的数据分组。 在IE浏览器内执行以下命令: http://www.google.com The GNU Operating System and the Free Software Movement; 结束扑获,并保存该文件,为“HTTP分析.cap” ; 2.2“HTTP分析.cap”的解析 分组1、2完成的是www.google.com的域名解析,分组3、4、5完成的是IE浏览器客户端与google服务器的TCP连接(TCP连接需要3次握手协议完成,见第3章的有关内容),以便执行后续的HTTP协议。 分组6、7分别是客户浏览器发送的HTTP Get请求和服务器的响应,请参考教材“HTTP报文格式”解析这2个HTTP报文的详细信息内容。 图3 分组6是客户浏览器发送的HTTP Get请求 图4 分组7是服务器发送的HTTP响应 | ||
问题一 | 1. 分析分组21-22完成的任务。 | ||
回答 | 分组21、22完成的是www.gnu.org的域名解析。客户端查询DNS服务器以获取 www.gnu.org 的IP地址。DNS服务器响应,提供 www.gnu.org 的IP地址199.232.41.10以及 gnu.org 的额外名称服务器信息。这些分组是DNS解析过程的一部分,这是HTTP通信的前提。 | ||
问题二 | 2. 分析分组23-25完成的任务。 | ||
回答 | 分组23 - 25完成的是IE浏览器客户端与gnu服务器的TCP三次握手连接过程,用于建立客户端与服务器之间的可靠连接。 第23号分组: 客户端发送SYN请求建立连接。 第24号分组: 服务器响应SYN-ACK,表示同意建立连接并确认客户端的请求。 第25号分组: 客户端发送ACK,确认服务器的响应,并完成连接的建立。 这三次握手之后,客户端和服务器之间的TCP连接正式建立,可以开始传输数据。 | ||
问题三 | 3.参考教材“HTTP报文格式”的解析方法,解析分组6、7、8、19的内容。(首部字段名的语义可查阅有关HTTP文档。) | ||
回答 |
请求行 (Request Line): GET / HTTP/1.1 表示使用GET方法请求服务器的根目录,使用HTTP/1.1协议。 请求头 (Request Headers): Host: 指定请求的目标主机 www.google.com。 User-Agent: 指定客户端的用户代理(浏览器)信息 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20031007。 Accept: 指定客户端能够处理的内容类型 text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1。 Accept-Language: 指定客户端希望接收的语言 en-us,en;q=0.5。 Accept-Encoding: 指定客户端支持的内容编码 gzip,deflate。 Accept-Charset: 指定客户端支持的字符集 ISO-8859-1,utf-8;q=0.7,*;q=0.7。 Keep-Alive: 指定连接保持活动的时间 300秒。 Connection: 指定连接类型为 keep-alive,即保持连接。 Cookie: 客户端发送的Cookie数据 PREF=ID=2922596a77b805c7:TM=1073520455:LM=1073520455:S=Ycw7Yx3HeW-X0ndK。
响应头: 状态行:HTTP/1.1 200 OK(表示请求成功) Cache-Control:private(指示响应是私有的,不应被缓存) Content-Type:text/html(响应内容的类型是HTML) Content-Encoding:gzip(内容使用gzip压缩) Server:GWS/2.1(服务器软件的名称和版本) Content-Length:1216(未压缩前的响应内容长度) Date:Thu, 08 Jan 2004 00:11:54 GMT(响应生成的日期和时间) 响应内容: 响应内容被gzip压缩,原始长度为1216字节,解压后长度为3425字节。 响应内容是一个HTML页面的开始部分,包括<html>, <head>, <meta>, <title>, <style>和<script>标签。
请求行: 方法:GET(请求方法) 资源:/images/logo.gif(请求的资源路径) HTTP版本:HTTP/1.1(使用的HTTP协议版本) 请求头: Host:www.google.com(请求的域名) User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20031007(发起请求的浏览器信息) Accept:image/png,image/jpeg,image/gif;q=0.2,/;q=0.1(客户端能够接受的媒体类型,优先级为PNG、JPEG、GIF,然后是其他类型) Accept-Language:en-us,en;q=0.5(客户端能够接受的语言,优先级为美式英语,其次是英语) Accept-Encoding:gzip,deflate(客户端能够接受的压缩格式) Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.7(客户端能够接受的字符集) Keep-Alive:300(请求保持连接打开的时间) Connection:keep-alive(请求保持连接打开状态) Referer:http://www.google.com/(引用页,即用户从哪个页面发起了请求) Cookie:PREF=ID=2922596a77b005c7:TM=1073520455:LM=1073520455:S=Ycw7Yx3HeW-X0ndK(发送的Cookie信息) Cookie对: PREF=ID=2922596a77b005c7:TM=1073520455:LM=1073520455:S=Ycw7Yx3HeW-X0ndK(具体Cookie的值,包含了ID、时间戳等信息) 其他信息: 请求的完整URI:http://www.google.com/images/logo.gif(完整的请求路径) 这是第二个HTTP请求([HTTP request 2/2]),前一个请求在帧6([Prev request in frame: 6]),对应的响应在帧19([Response in frame: 19])。
状态行: 版本:HTTP/1.1 状态码:200 状态信息:OK 响应头部: Content-Type:image/gif(响应内容的类型是GIF图片) Last-Modified:Fri, 05 Sep 2003 02:25:37 GMT(资源最后被修改的日期和时间) Expires:Sun, 17 Jan 2038 19:14:07 GMT(响应的过期时间) Server:GWS/2.1(服务器软件的名称和版本) Content-Length:8558(响应体的长度,即图片文件的大小) 其他信息: Date:Thu, 08 Jan 2004 00:11:54 GMT(响应生成的日期和时间) 响应是第二个HTTP响应([HTTP response 2/2]),与前一个请求的时间差为0.076334秒。 前一个请求在帧6([Prev request in frame: 6]),前一个响应在帧7([Prev response in frame: 7]),对应的请求在帧8([Request in frame: 8])。 请求的URI是http://www.google.com/images/logo.gif。 文件数据: 响应体包含了一个GIF图片文件,大小为8558字节。 文件是GIF格式,版本为GIF89a,屏幕宽度为276像素,高度为110像素。 存在全局颜色表,颜色深度为8位每像素。 |