《应用分析-HTTP网页访问应用分析》由会员分享,可在线阅读,更多相关《应用分析-HTTP网页访问应用分析(8页珍藏版)》请在金锄头文库上搜索。
1、 HTTP 网页访问应用分析成都科来软件有限公司 电话:028-85120922 Email:http:/ 传真:028-85120911 1 / 8应用分析 HTTP 网页访问应用分析一、HTTP 协议简介1.什么是 HTTP 协议HTTP,全称 Hyper Text Transfer Protocol,中文名为超文本传输协议。HTTP 是一种用于从 Web 服务器端传送超文本标记语言(HTMLHyper Text Markup Language)文件到客户端浏览器的传送协议,它是 Internet 上最常见的协议之一。我们通常访问的网页,就是通过 HTTP 协议进行传送的。2.HTTP 协
2、议的工作原理HTTP 用名字标识某一资源时(即在浏览器中输入网址) ,遵循统一资源名(URNUniform Resource Name)的规则,当前网络中最常用的 URN 是统一资源定位符(URLUniform Resource Locator) ,当客户端在浏览器中输入一个 URL 或单击一个 URL 超链接时,就确定了要访问的地址。以 http:/ 为例介绍 URL 的组成:1) http:/:表示使用超文本传输协议,通知 Web 服务器显示 Web 页,客户端可不输入;2) www:代表 1 个 Web 服务器;3) 服务器的域名,或站点服务器的名称;4) resource/:Web
3、服务器上的子目录,类似机器中的文件夹;5) index.html:Web 服务器上 resource 子目录中的一个网页文件,即 Web 服务器传送给客户端浏览器的文件。HTTP 使用 TCP 协议的 80 端口进行可靠数据传输,一个 HTTP 会话由客户端开始发起,包括以下步骤:1) 客户端在浏览器中标识希望获取信息的 URL;2) 发起 HTTP 连接请求,启动客户端(UA)和一个初始 WWW 服务器或代理服务器之间的一个 HTTP 会话;3) WWW 服务器或代理服务器根据客户端的 URL 请求将内容传送给客户端。 HTTP 网页访问应用分析成都科来软件有限公司 电话:028-85120
4、922 Email:http:/ 传真:028-85120911 2 / 83.HTTP 协议的工作方式宏观工作方式:1) 客户端(UA)直接连接到 Web 服务器的通讯路径如图 1 所示,客户端与 Web 服务器之间的通讯不需要任何的中介服务器,这是最简单的情况。(图 1客户端与 Web 服务器直接连接)2) 客户端(UA)通过中介服务器连接到 Web 服务器的通讯路径如图 2 所示,客户端与Web 服务器之间的通讯通过中介服务器进行转发,中介服务器可能有 1 个,也可能有多个。(图 2客户端通过中介服务器与 Web 服务器连接)3) 客户端(UA)到中介服务器的通讯路径如图 3 所示,客户
5、端将请求发送给中介服务器1,中介服务器 1 将其发送中介服务器 2,中介服务器 2 再发给 Web 服务器,最后客户端收到的内容由中介服务器 1 发送给它,而不是 Web 服务器。(图 3客户端与中介服务器通讯过程) HTTP 网页访问应用分析成都科来软件有限公司 电话:028-85120922 Email:http:/ 传真:028-85120911 3 / 8内部操作过程:如图 4 所示,它分为四个步骤:建立连接、发出请求信息、发出响应信息、关闭连接。(图 4HTTP 协议内部操作过程)4.HTTP 协议的报文格式客户端发送的 HTTP 报文,我们称为请求链;中介服务器或 Web 服务器发
6、送的 HTTP 报文,称为响应链。两种报文都遵循以下格式: 一般开始行,即请求报文的请求行和应答报文的状态行; 总头; 报文头; 一个空行; 报文体。二、分析 HTTP 通讯1.分析 HTTP 访问的具体流程我们使用科来网络分析系统 5.0 捕获并分析一个 HTTP 通讯过程,客户端主机名为“wangym”,客户端浏览器是 IE6.0,请求的域名是“” 。在客户端上打开科来网络分析系统 5.0。为避免数据干扰,可以设定一个过滤器,只捕获本机的数据通讯。设定好后开始数据捕获,同时在本机的浏览器中输入,待网页全部打开后,停止捕获。 注意:此文里提到的 HTTP 访问均指标准 80 端口的通信,对于
7、非 80 端口的 HTTP 访问,用户可在“工程-高级分析模块-HTTP 分析模块-常规设置-端口”处进行更改,系统默认为 80,当 HTTP 服务有多个端口时,多个端口之间用分号分隔,如 80;8080。 HTTP 网页访问应用分析成都科来软件有限公司 电话:028-85120922 Email:http:/ 传真:028-85120911 4 / 81) HTTP 请求图 5 所示的是科来网络分析系统 5.0 对上面访问 的操作的 HTTP 请求报文跟踪。(图 5HTTP GET 请求操作)从图 5 中的数据包列表可知,上述操作中 HTTP 请求的原始信息如下:1) 第 1 个数据包是
8、DNS 查询数据包,本机通过 DNS 查询获得 对应的 IP 地址。2) 第 2 个数据包是 DNS 回应数据包,DNS 服务器查询到域名 对应的 IP 是 64.246.27.237,并将查询结果传送给客户端。3) 3、4、5 数据包是 TCP 连接的三次握手数据包,连接的双方是本机与域名 对应的 IP 地址 64.246.27.237。4) 第 6 个数据包是客户端发起的 HTTP GET 请求,向 Web 服务器处请求获得内容,第 7 帧的解码包含了 GET 请求的各参数信息。 HTTP 网页访问应用分析成都科来软件有限公司 电话:028-85120922 Email:http:/
9、传真:028-85120911 5 / 8上述 HTTP 访问的 HTTP 请求方法是 GET,而 GET 仅仅是 HTTP 众多方法中的一种,HTTP 通过不同的方法实现不同的功能,下表列出了 HTTP 常见的请求方法。方 法 描 述GET 向 Web 服务器请求一个文件POST 向 Web 服务器发送数据让 Web 服务器进行处理PUT 向 Web 服务器发送数据并存储在 Web 服务器内部HEAD 检查一个对象是否存在DELETE 从 Web 服务器上删除一个文件CONNECT 对通道提供支持TRACE 跟踪到服务器的路径OPTIONS 查询 Web 服务器的性能(表 1HTTP 常见请
10、求方法)每个 HTTP 请求都包含两个部分:1) HTTP 请求行,大多情况下为 GET 或 POST;2) HTTP 请求中的可选消息头,这些消息头会由于使用的 HTTP 客户端浏览器或客户端浏览器配置选项的不同而不同。具体分析图 5 中第 6 个数据包的 HTTP 请求解码,可以得到如下信息:1) HTTP 请求:请求的方法是 GET, “/”表示请求 Web 服务器的根目录, “HTTP/1.1”表示的是 URI(Uniform Resource Identifier,统一资源标识符)及其版本;2) Accept:指定客户端能够接收的内容类型,内容类型中的先后次序表示客户端接收的先后次序
11、。这里可以看到客户端能够接收的类型有 gif、bitmap、jpeg 等等。3) Accept-Language:指定优先选择的语言是中文;4) Accept-Encoding:指定内容编码类型为 gzip 或 deflate;5) User-Agent:包含 HTTP 客户端运行的浏览器类型;6) Host:包含的主机信息为 。7) Connection:指定的连接类型为 Keep-Alive。注意:在传送一个网页时,Web 服务器会同时打开多个 TCP 连接,如每一张图片都单独使用一个 TCP 连接进行传送。 HTTP 网页访问应用分析成都科来软件有限公司 电话:028-85120922
12、Email:http:/ 传真:028-85120911 6 / 82) HTTP 响应Web 服务器在收到 HTTP 请求后,会向 HTTP 客户端发送一个应答响应。图 6 所示的是科来网络分析系统 5.0 对上面访问 的操作的 HTTP 响应报文跟踪。(图 6HTTP 响应)图 6 中第 8 个数据包即是 Web 服务器返回给客户端的 HTTP 响应数据包,详细查看其解码,可以得到如下信息:1) HTTP 响应:“HTTP/1.1”表示的是 URI(Uniform Resource Identifier,统一资源标识符)及其版本, “200 OK”是 HTTP 响应的状态码,表示客户端请
13、示的页面存在,且状态正常。2) Date:显示当前的时间。3) Server:显示支持当前请求页面的 Web 服务器的类型。4) X-Powered-By:显示当前请求页面的脚本类型。5) Set-Cookie:显示此 HTTP 连接的 Cookie 信息。6) Keep-Alive:显示此 HTTP 连接的 Keep-Alive 时间。7) Connection:显示此 HTTP 连接的类型为 Keep-Alive。8) Transfer-Encoding:显示此 HTTP 连接的传输编码。9) Content-Type:显示此 HTTP 连接的内容类型。10) Line1-N:Web 服务器传送给客户端浏览器的 HTML 代码。 HTTP 网页访问应用分析成都科来软件有限公司 电