1、 《计算机网络实验》实验报告 实验名称: 超文本传输协议(HTTP) 年 级: 2023级 专 业: 软件工程专业 班 级: 2班 姓 名: 王香香 学 号: 成 绩: 指导教师: 卢 正 添 提交报告时间: 2023年 6月 3日 一、实验目的 1. 掌握HTTP的报文格式 2. 掌握HTTP的工作原理 3. 掌握HTTP常用方法
2、 二、实验环境 网络结构一 三、实验环节与实验结果 练习一:页面访问 各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的对的性,假如通过拓扑验证,关闭协议分析器继续进行实验,假如没有通过拓扑验证,请检查网络连接。 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机A清空IE缓存。 2. 主机B启动协议分析器开始捕获数据,并设立过滤条件(提取HTTP协议)。 3. 主机A启动IE浏览器,在“地址”框中输入http://服务器的ip/experimen
3、t,并连接,服务器IP默认为 172.16.0.253。 4. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题: ● 本练习使用HTTP协议的哪种方法?简述这种方法的作用。 答:Get方法。客户要从服务器读取文档时使用。 ● 根据本练习的报文内容,填写下表。 表13-3 实验结果 主机名 Host URL http://172.16.0.253/experiment 服务器类型 Apche/2.2.0 传输文献类型 Test/html 访问时间 Thu.1 Jun 2023 16:00:32 GMT ● 参考“会话
4、分析”视图显示结果,绘制本次访问过程的报文交互图(涉及TCP协议)。 ● 简述TCP协议和HTTP协议之间的关系。 答:HTTP是基于TCP的应用层协议。 思考问题: 1. 一个主页是否只有一个连接? 答:否。一个主页也许相应多个连接。 练习二:页面提交 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机B启动协议分析器开始捕获数据,并设立过滤条件(提取HTTP协议)。 2. 主机A启动IE浏览器,在“地址”框中输入“http://服务器的ip/experiment
5、/post.html”,并连接,服务器IP默认为172.16.0.253。在返回页面中,填写“用户名”和“密码”,点击[拟定]按钮。 3. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题: ● 本练习的提交过程使用HTTP协议的哪种方法?简述这种方法的作用。 答:Post方法,当客户要给服务器提供某些信息时使用。 ● 本次通信分几个阶段?每个阶段完毕什么工作? 答:两个阶段,页面访问和页面提交。 ● 参考“会话分析”视图显示结果,绘制本次提交过程的报文交互图(涉及TCP协议)。 练习三:获取页面信息 本练习将主机A和B作为一组,
6、主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。
1. 主机A启动“实验平台工具栏中的TCP工具”。
2. 主机B启动协议分析器开始捕获数据,并设立过滤条件(提取HTTP协议)。
3. 主机A在“TCP工具”上,选中“客户端”单选框,设立“IP地址”为服务器IP(默认为172.16.0.253);设立“端口”为80;单击[连接]按钮来和服务器建立连接。
4. 主机A在“TCP工具”上,设立“发送数据(文本)”为以下内容:
HEAD /experiment/ HTTP/1.1
7、 172.16.0.253
8、览器窗口也许相应一个或多个连接,每一个连接和数据报中的一个端口相相应,系统是根据这种相应关系把返回的页面对的地显示到相应窗口中。 练习四:较复杂的页面访问 本练习将主机A、B、C、D、E、F作为一组进行实验。 1. 本练习中规定主机A、C、E设立DNS服务器地址,(DNS服务器的IP地址即Linux服务器的IP地址)其IP地址以172.16.0.253为例。 2. 主机A使用“ipconfig /flushdns”命令清空DNS高速缓存。 3. 主机B启动协议分析器开始捕获数据并设立过滤条件(提取DNS、HTTP协议)。 4. 主机A启动IE浏览器,在地址框中输入。
9、 5. 主机B停止捕获数据,察看相关会话,分析捕获到的数据,并回答以下问题: ● 结合本次实验结果,简述浏览器是如何解决一个访问请求的。 答:用户在浏览器的地址栏中输入Web站点的URL,URL中的信息被浏览器提取出来打包到一个HTTP请求报文中,然后传输给底层的传输层、网络层和链路层协议。该请求报文由运营Web服务器软件的目的计算机接受。服务器解决该请求报文并且获取所需信息,然后创建一个HTTP响应报文再传输。这个响应由客户端接受,浏览器解释,然后再显示给用户。 6. 恢复网络环境,将“首选DNS服务器”清空。 思考问题: 1. 为什么HTTP不保持与客户端的TCP连接? 答: HTTP1.0定义了非连续连接,每次请求/响应都要建立TCP连接。而HTTP1.1默认的连接是连续连接,服务器在发送响应以后会保持连接状态,等待更多的请求。






