第七章应用层协议的测试及分析
7.1 HTTP超文本传输协议
7.1.1 HTTP原理
HTTP(Hyper Text Transfer Protocol)是WWW应用层的通信协议,它是WWW的核心。WWW服务由两个部分组成:客户程序和服务器程序。客户程序和服务器程序分别驻留在不同的机器上,通过HTTP来交换信息。HTTP定义了客户和服务器之间如何交换信息以及所交换信息的格式。
浏览器是WWW服务的客户端,它显示所需的Web页面,并且提供导航和配置功能。浏览器实现了HTTP协议的客户端功能。常用的浏览器有网景公司的Netscape Communicator 和微软公司的Internet Explorer。而Web服务器则存放通过URL来寻址的Web网页,它实现的是HTTP的服务端功能。常用的Web服务器有Apache、微软的IIS(Internet Information Server)和网景公司的Netscape Enterprise Server等。
图7.1 HTTP交互模型
HTTP定义了浏览器如何向Web服务器请求Web页面以及服务器如何将WEB页面传递给浏览器,如图7.1所示。当用户请求一个Web页面时,浏览器将HTTP请求信息发送给服务器。服务器接受这个请求并进行分析,最后将包含Web页面的HTTP应答返回给浏览器。
HTTP请求报文由三个部分组成,即请求行、首部行和实体主体,如图7.2所示。其中请求行由三个字段组成:请求方法、被请求者的URL和HTTP的版本。首部行则说明了浏览器的属性和此次请求的一些选项。实体主体在大多数请求中不出现。下面是出现在请求报文中的常用方法:
●GET:请求读取URL标识的对象;
●HEAD:请求读取URL标识的对象的首部;
●POST:给服务器添加信息;
●OPTION:请求一些选项的信息。
图7.2 HTTP 请求报文结构
在下面的例子中,Web 浏览器按HTTP/1.1的协议格式请求主机 上的网页/department/computer/index.htm 。
GET /department/computer/index.htm HTTP/1.1 Host: Connection: Close User-agent: Mozilla/4.0
Accept: text/html,image/gif,image/jpeg Accept-language: en [CRLF]
与HTTP 请求报文相类似,HTTP 应答报文是由状态行、首部行和实体主体组成,如图7.3所示。其中状态行包含HTTP 的版本、状态码和解释状态码的简单短语,用以指明此次HTTP 请求的操作结果。
图7.3 HTTP 应答报文结构
状态码由3位数字组成,其中第1位表示大类,其余2位表示小类,可分为: –1xx – 保留未用;
状态行
请求行
–2xx –成功,表示请求已被成功接收、理解和执行;
200 OK
201 POST command successful
202 Request accepted
203 GET or HEAD request fulfilled
204 No content–3xx –重定向,表示需要进一步的操作来完成请求;
300 Resource found at multiple locations
301 Resource moved permanently
302 Resource moved temporarily
304 Resource has not modified (since date)
–4xx –客户端错误,表示HTTP请求语法错或请求不能实现;
400 Bad request from client
401 Unauthorized request
403 Resource access forbidden
404 Resource not found
405 Method not allowed for resource
–5xx –服务器错误,表示服务器不能完成一个有效的请求。
500 Internal server error
501 Method not implemented
502 Bad gateway or server overload
503 Service unavailable / gateway timeout
504 Secondary gateway / server timeout
下面为HTTP应答报文的一个实例:
HTTP/1.1 200 OK
Connection: Close
Date: Tue, 27 Nov 2001 16:20:10 GMT
Server: Apache/1.3.0 (Linux)
Last-Modified: Mon,1 Nov 2001 09:23:21 GMT
Content-Length: 6821
Content-Type: text/html
[CRLF]
data data data…
7.1.2 运用ITS-101读取网页
运用ITS-101读取网页,首先要正确配置网络环境,然后通过TCP Session工具来访问网页,具体过程如下:
(1)通过HUBOX连线将ITS-101客户机和Web服务器接入同一个网络中,并设置ITS-101客户机的IP地址为192.168.149.10,如图7.4所示,而Web 服务器的地址则为192.168.149.2;