HTTP消息报头(一)

   HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行,消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行。

   HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。每一个报头域都是由名字+“:”+空格+值 组成,消息报头域的名字是大小写无关的。

 

   1.普通报头:有少数报头域应用于所有的请求和响应消息,但并不用于被传输的实体,这些报头域只用于传输的消息。

       CaChe-Control普通报头域用于指定缓存指令,该指令将被请求、响应链中的所有缓存机制所遵循,这些指令覆盖缺省的缓存规则,缓存指令是单向的,在请求中出现的缓存指令,并不意味着在响应中也会出现,此外,在一个消息(请求或响应消息)中指定的缓存指令,并不会影响另一个消息处理的缓存机制。

      Date普通报头域表示消息产生的日期和时间,可以用于HTTP响应中,也可用于HTTP请求中。作为服务器端,应该总是在所有的响应中包含Date报头域。作为客户端只有在发送的消息中包含了消息正文的时候,才应该发送Date报头域。例如,在POST请求的时候。

        Connection普通报头域允许发送者指定连接的选项。例如指定连接是持续的,或者指定”close”选项,通知服务器,在响应完成后,关闭连接

         Pragma普通报头域被用于包含特定实现的指令,这些指令可能会应用到请求、响应链中的任何一个接收者。最常用的是。Pragma:no-cacheHTTP1.1中,它的含义和Cache-Control:no-cache相同。

 

   2.请求报头允许客户端向服务器端传递该请求的附加信息以及客户端自身的信息。

        Accept请求报头域用于指定客户端接受哪些类型的信息。例如。Accept:image/gif,表明客户端希望接受GIF图像格式的资源; Accept:text/html,表明客户端希望接受HTML文本。

        Accept-Charset请求报头域用于指定客户端接受的字符集。例如:Accept-Charset:iso-8859-1,gb2312如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。

       Accept-Encoding请求报头域类似于Accept但是它是用于可接受的内容编码。例如:Accept-Encoding:gzip,deflate.如果请求消息中没有设置这个域,服务器假定客户端对各种内容编码都可以接受。

        Accept-Language请求报头域类似于Accept,但是它是用于指定一种自然语言。例如。Accept-Language:zh-ch。如果请求消息中没有设置这个域,服务器假定客户端对各种语言都可以接受。

        Authorization请求报头域主要用于证明客户端有权查看某个资源,当浏览器访问一个页面时,如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。

        Host请求报头域主要用于指定被请求资源的internet主机和端口号,它通常是从HTTP URL中提取出来的。浏览器发送的请求消息中,就会包含Host请求报头域,在发送HTTP请求的时候,这个报头域是必需的。

        User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器,不过这个报头域不是必需的。

 

posted on 2007-04-07 21:56 海风 阅读(349) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2025年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

留言簿

文章档案

搜索

最新评论