一. 实验说明。
在这个实验中,我们将探讨HTTP协议的几个方面:基本的GET/response交互、HTTP消息格式、检索大型HTML文件、检索带有嵌入对象的HTML文件、以及HTTP认证和安全性。
二. 基本HTTP获取/响应(GET/response)交互
我们通过下载一个非常简单的HTML文件来开始对HTTP的探索——一个非常短的、不包含嵌入对象的文件。
a. 启动网页浏览器。
b. 启动EnthalBox嗅探器,如介绍性实验室中所描述的(但尚未开始捕获数据包)。在“显示筛选器规范”窗口中输入“HTTP”(只是字母,而不是引号),以便只在分组列表窗口中显示捕获的HTTP消息。(我们只对HTTP协议感兴趣,不想看到捕获所有的混乱数据包)。
c. 等待一分钟多一点(我们马上就会明白),然后开始以太包捕获。
d. 向浏览器输入以下内容:
http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file1.html
浏览器应该显示非常简单的单行HTML文件。
e. 停止抓包
通过抓包结果可以看到,客户端向服务器请求一个简单的HTML文件,服务器将该文件返回给客户端。
问题:
1. 浏览器运行HTTP版本1还是1.1?服务器运行的是什么版本的HTTP?
浏览器运行的HTTP版本是1.1,服务器运行的HTTP版本也是1.1。
本地浏览器:
服务器:
2. 您的浏览器显示哪些语言(如果有的话)可以通过服务器接收?
我的本地浏览器显示简体中文(zh_CN)
3. 你的电脑的IP地址是什么?gaia.cs.umass.edu服务器呢?
本地电脑ip: 10.63.108.63
gaia.cs.umass.edu服务器ip:128.119.245.12
4. 从服务器返回到浏览器的状态代码是什么?
返回的状态代码是 200 ,表示成功处理请求。
5. 您在服务器上检索到的HTML文件是在什么时候修改的?
在服务器上检索到的HTML文件修改时间:2018.5.14 05:59:01
6. 有多少字节的内容被返回到浏览器?
有126字节的内容被返回到浏览器。
7. 除以上已回答过的字段外,头部还有哪些字段?在数据包内容窗口中检查原始数据,是否有未在数据包列表中显示的头部?
HTTP请求报文中还有Host字段、connection字段、Accept字段、User-agent字段、Accept-Encoding字段等。
HTTP响应报文中还有server字段、connection字段等。