Http(Hyper Text Transfer Protocal)是超文本传输协议,它用于网页间传送数据,http采用的是请求、响应模型,也就是说浏览器和Web服务器之间的交互(http事务)包括浏览器发起的一个请求和随后服务器返回的一个响应。请求和响应本质上是文本流,客户端和服务器端把它们解释为首部和紧随其后的主体部分。
一个http请求主要由首部信息和可能包含一些数据或参数的主体部分组成。
一个http响应通常包含首部信息和返回页面的html标记。
那么我们如何查看http首部信息呢?firefox提供了一个插件LiveHTTPHeaders,它的功能是记录浏览器获得http流量,以及当前的请求和响应首部信息,GET和POST方法的查询字符也被记录下来,但是响应的内容不会被记录。
如何安装LiveHtTTPHeaders插件?
在https://addons.mozilla.org/en-US/firefox/addon/3829中有此插件的安装地址,如下图1-1所示。
图1-1
点击 【Install Now】,将安装liveHTTPHeaders插件,如下图1-2所示。
图1-2
安装好后,我们来看看如何使用它来查看http首部信息。
打开firefox浏览器(保证为空页面),点击菜单栏下的【工具】→【LiveHTTPHeaders】选项,将出现如下图1-3所示界面。
图1-3
在firefox中输入一个网址,liveHttpHeaders界面将产生一些信息,如图1-4所示。
图1-4
图中产生的代码片断如下(红色为注释):
http://localhost:8080/myweb/tomcat.html(输入的测试地址)
请求首部
GET /myweb/tomcat.html HTTP/1.1(使用GET方法,协议为1.1版本)
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5(定义客户端可以处理的媒体类型,按优先级排序;在一个以逗号为分隔的列表中,可以定义多种类型和使用通配符)
Accept-Language: en-us,en;q=0.5(定义客户端乐于接受的自然语言列表)
Accept-Encoding: gzip,deflate(定义客户端可以理解的编码机制)
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
响应首部
HTTP/1.x 200 OK
Server: Apache-Coyote/1.1
Etag: W/"71-1199901217640"
Last-Modified: Wed, 09 Jan 2008 17:53:37 GMT
Content-Type: text/html
Content-Length: 71(响应主体部分的信息大小,以此判断数据是否丢失或损坏)
Date: Wed, 27 Feb 2008 13:18:52 GMT……
对于其他头信息可以查阅相关资料,这里就不一一列举。