计算机网络实验报告
班级:电信0901学号:U200914332姓名:王焕
20121
f实验四:网络协议与Web通信
一、实验目的
1了解网络协议数据单元的格式2分析网络协议工作基本流程3深入理解Web应用的通信过程
二、实验内容
1网络协议数据单元分析通过wireshark抓取局域网数据包并分析各个层次的协议数据单元内容(1)以太网帧头(2)IP分组首部(3)ARP包(4)ICMP包pi
g
2Web原理实验(1)HTTP协议分析(2)通过socket编程模拟HTTP协议通信过程
三、实验原理
1Web通信经过四个步骤:(1)建立连接(2)客户端发送HTTPREQUEST请求(3)服务器端接收请求,生成RESPONSE响应(4)关闭连接
2HTTP协议客户端浏览器或其他程序与Web服务器之间的应用层通信协议。一般在I
ter
et
上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。
3Java网络编程JavaSocket对网络的封装是非常完美的,对于进行网络编程的程序员,使用网络就
像使用本地文件系统一样简单。与其他Socket网络编程有一个明显的区别就是,在服务器和客户机通信建立时就
要另外一个ServerSocket。它仅仅适用与服务器端,监听指定端口,如果有socket连接请求,它就答应,并
在服务器端产生一个socket与其对应,那么用这个socket就可以和客户端进行通信了。
实验原理图如下:
f四、实验内容及分析
1编译、执行参考程序本次实验提供了两个原始程序(NetServerjava和NetClie
tjava),它们可以实现一
个服务器客户端请求响应的完整过程。Dos环境下先后编译执行NetServerjava与NetClie
tjava,即可得到一次完整的客户端向服务器请求并得到响应的完整过程,结果如下
2修改、编写实验程序参考程序模拟了客户端与服务器之间的对话,但由于其之间交互的数据都是我们设定的而不含有http报头信息,因此不能和真正的web服务器与浏览器对话,以下即为
f实现自制web服务器的方法(1)利用自制的服务器获取真正浏览器的HTTPRequest报头信息:
运行自制的服务器,默认监听端口8080,在浏览器中输入以下网址http1270018080
ewmai
UserLoadjsp,其中127001为本机localhost地址,这样浏览器就会向自制服务器发出请求,服务器即可获取httprequest报头信息。如图所示:
(2)利用自制的客户端获取HTTPRespo
se报头信息:在真实的浏览器中访问一网址,利用wireshark软件获取对该网站服务器发送的http
request报头,将这些内容加入NetClie
tjava中outpri
tl
方法中的字符串内,如下所示:
outpri
tl