当前位置:文档之家› HTTP协议分析实验

HTTP协议分析实验

HTTP协议分析实验报告

专业:计算机信息工程学院12级网络工程2班

学号:1208066057

学生姓名:汪国庆

一、实验目的:

1.分析http请求报文的含义和响应报文的含义。

2.知道http1.1和http1.0的异同。

3.通过http协议获取网页流程。

二、实验原理:(参考自互联网)

RFC 1945定义了HTTP/1.0版本。RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。

HTTP协议永远都是客户端发起请求,服务器回送响应。见下图:

这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。

HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。

一次HTTP操作称为一个事务,其工作过程可分为四步:

1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。

2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

三、实验步骤

1、打开Wireshark,选择工具栏上的“Capture”->“interfaces选择网关”,如图:

2、然后在Wireshark,选择工具栏上的“Capture”->“optoins”选择过滤器,并在capture filter 中输入tcp port 80(表示要抓http的包),如图

3、打开浏览器,输入.进行抓包

分析:前面三帧是客户端与服务器建立连接的三次握手。第四帧是一个http报文,内容如下。

通过分析这个http报文。

1)方式是GET,说明是一个请求报文

2)使用的版本是http1.1版

3)浏览器的类型是mazilla 4.0版

4)连接方式:keep-alive(保持连接)

5)请求的网页是

6)保留cookies在本地

第5-30帧是分组服务器端分组发送给客户端的tcp报文

第31帧表示收到一个完整的HTML文档

分析知道,它的发送方式是明文

中间的其他包就不分析了看一下后面的包

最后几帧有[FIN]的表示断开连接

4、http1.0 和http1.1的区别

在1.0时的会话方式

1.建立连接

2.发出请求信息

3.回送响应信息

4.关掉连接

小结:浏览器和web服务器连接很短,每次连接只处理一个请求和响应。对每一个页的请求,浏览器与web服务器都要建立一次单独的连接.浏览器没有关掉前,连接就断开了.浏览器和服务器之间的通信是完全独立分开的请求和响应对.因为这样没法断点浏览器是否断开,没法做连接状态控制。建立和关掉连接会很占用连接时间

在1.1时的会话方式

在同一个tcp的连接中可以传送多个HTTP请求和响应.

多个请求和响应可以重叠,多个请求和响应可以同时进行.

更加多的请求头和响应头(比如HTTP1.0没有host的字段).

总结: 在 HTTP/1.0 中,大多实现为每个请求/响应交换使用新的连接。在 HTTP/1.1 中,一个连接可用于一次或多次请求/响应交换,尽管连接可能由于各种原因被关闭.这是他们之间最大的分别.

相关主题