当前位置:编程学习 > JS >>

HTTP 请求报头详解

 

Java代码 

http头的组成:   

==============   

 HTTP头字段包括4类:    

     general-header ;   

     request-header ;   

     response-header ;   

     entity-header .   

    

*******************************************************************************   

 General Header Fields   

=============================   

   general header是request、response都可用的, 但是不能用于entity.    

    

    

       --Cache-Control   

       --Connection   

       --Date   

       --Pragma   

       --Trailer   

       --Transfer-Encoding   

       --Upgrade   

       --Via   

       --Warning   

    

*******************************************************************************   

 Request Header Fields   

======================   

    

   request-header fields 允许客户端传递关于request和客户端的附加信息到服务端,   

    

       --Accept    

       --Accept-Charset   

       --Accept-Encoding   

       --Accept-Language   

       --Authorization   

       --Expect   

       --From   

       --Host   

       --If-Match   

       --If-Modified-Since   

       --If-None-Match   

       --If-Range   

       --If-Unmodified-Since   

       --Max-Forwards   

       --Proxy-Authorization   

       --Range    

       --Referer   

       --TE   

       --User-Agent   

    

*******************************************************************************   

  Response Header Fields   

===============================   

    

   response-header fields 允许服务端传递关于response的、不能放到Status-Line的附加信息。   

   这些头给出关于服务端的信息。      

    

      --Accept-Ranges   

      --Age   

      --ETag   

      --Location    

      --Proxy-Authenticate   

      --Retry-After   

      --Server   

      --Vary    

      --WWW-Authenticate   

    

*******************************************************************************   

 Entity Header Fields   

========================   

    

   Entity-header fields 定义关于entity-body的metainformation(标题字段数据),   

   如果当前没有body, 则定义被request确定的资源信息.   

   一些metainformation是可选的; 一些是必须的。   

    

       --Allow   

       --Content-Encoding   

       --Content-Language   

       --Content-Length   

       --Content-Location   

       --Content-MD5   

       --Content-Range   

       --Content-Type   

       --Expires   

       --Last-Modified   

       --extension-header   

   

 

一、基础篇   

HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。   

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。   

   

1、通用头域   

通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几个在UPnP消息中使用的通用头域。   

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

补充:Web开发 , Jsp ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,