(3)Headers页信息。
图12-8 访问百度首页获得的数据信息下半部分——Headers页信息
图12-8给出了发送请求头和返回请求头的相关内容,这里我们也列一个表格给予分析,参见表12-3和表12-4所示。
序号 |
表头信息 |
含 义 |
1 |
GET /HTTP/1.1 |
“GET”代表请求方法,“HTTP/1.1”代表协议和协议的版本 |
2 |
Accept |
Accept请求报头域用于指定客户端接受哪些类型的信息。例如:Accept:text/html,表明客户端希望接受html文本 |
3 |
Accept-Encoding |
Accept-Encoding请求报头域类似于Accept,但是它是用于指定可接受的内容编码。例如:Accept-Encoding:gzip,deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受 |
4 |
Accept-Language |
Accept-Language请求报头域类似于Accept,但是它是用于指定一种自然语言。例如:Accept-Language:zh-cn,中文。如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受 |
5 |
Connection |
连接类型,默认为Keep-Alive(长连接),如果不希望使用长连接,则需要在header中指明Connection的值为Close |
6 |
Cookie |
Cookie是由服务器端生成,发送给浏览器,浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器。服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。可以判断其是否登录过网站,客户的喜好等 |
7 |
Host |
Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,我们在浏览器中输入:http://bbs.51testing.com/,浏览器发送的请求消息中就会包含Host请求报头域,如下:Host:bbs.51testing.com:n,此处使用缺省端口号80,若指定了端口号为8080,则变成:Host:bbs.51testing.com:8080 |
8 |
User-Agent |
User-Agent请求报头域允许客户端将它的操作系统、浏览器和其他属性告诉服务器 |
关于GET和POST方法在这里简单做一下说明,GET方法是默认的HTTP请求方法,我们日常用GET方法来提交表单数据,然而用GET方法提交的表单数据只经过了简单的编码,同时它将作为URL的一部分向Web服务器发送,因此,如果使用GET方法来提交表单数据就存在着安全隐患上。同时由于GET方法提交的数据是作为URL请求的一部分所以提交的数据量也不能太大。POST方法是GET方法的一个替代方法,它主要是向Web服务器提交表单数据,尤其是大批量的数据。POST方法克服了GET方法的一些缺点。通过POST方法提交表单数据时,数据不是作为URL请求的一部分而是作为标准数据传送给Web服务器,这就克服了GET方法中的信息无法保密和数据量太小的缺点。因此,出于安全的考虑以及对用户隐私的保护,通常表单提交时采用POST方法。
表12-4 服务器端响应返回表头说明
序号 |
表头信息 |
含 义 |
1 |
HTTP/1.1 200 OK |
“HTTP/1.1代表协议和协议的版本,200为HTTP响应代码,表示成功 |
2 |
Cache-Control |
Cache- Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下: Public指示响应可被任何缓存区缓存; Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效; no-cache指示请求或响应消息不能缓存; no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存; max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应; min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应; max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息 |
3 |
Connection |
连接类型,默认为Keep-Alive(长连接),如果不希望使用长连接,则需要在header中指明Connection的值为Close |
4 |
Content-Encoding |
Accept-Encoding请求报头域类似于Accept,但是它是用于指定可接受的内容编码。例如:Accept-Encoding:gzip,deflate,如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受 |
5 |
Content-Length |
表示内容长度,只有当浏览器使用持久HTTP连接时才需要这个数据 |
6 |
Content-Type |
表示服务器发送的内容的MIME类型 |
7 |
Date |
Date头域表示消息发送的时间,时间的描述格式由rfc822定义。例如,Thu,15 Nov 2012 05:56:32 GMT。Date描述的时间表示世界标准时间 |
8 |
Expires |
Expires: Thu,15 Nov 2012 05:56:32 GMT 需和Last-Modified结合使用。用于控制请求文件的有效时间,当请求数据在有效期内时,客户端浏览器从缓存请求数据而不是服务器端,当缓存中数据失效或过期,才从服务器更新数据 |
9 |
Server |
指示服务器的类型,如apache、 tomcat。这里出现的BWS应该是Baidu Web Server,百度自己研发的Web服务器用来代替apache |
关于MIME(Multipurpose Internet Email Extension),意为多用途Internet邮件扩展,它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是JPEG文件等。当服务器把把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。在HTTP中,MIME类型被定义在<head>、</head>部分的Content-Type中。
后续内容请从书籍获得……
(未完待续)
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。
相关链接: