HTTP内容格式详细说明(协议) 2

6       响应头域

响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和 Request-URI进一步的信息。响应头域包含AgeLocationProxy-AuthenticatePublicRetry- AfterServerVaryWarningWWW-Authenticate。对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理。

6.1    Location响应头域

Location响应头用于重定向接收者到一个新URI地址。

6.2    Server响应头域

Server响应头包含处理请求的原始服务器的软件信息。此域能包含多个产品标识和注释,产品标识一般按照重要性排序。

7       实体内容

指在头域结束空行后的所有内容,请求消息和响应消息都可以包含实体信息,实体可以是一个经过编码的字节流,它的编码方式由实体头域中的Content-EncodingContent-Type 义,它的长度由Content-LengthContent-Range定义。

8       实体头域

       实体头域描述实体的信息,实体头包括AllowContent- BaseContent-EncodingContent-Language Content-LengthContent-LocationContent-MD5Content-RangeContent-Type EtagExpiresLast-Modifiedextension-headerextension-header,允许客户端定义新的实体头,但是这些域可能无法被接受方识别。

8.1    Content-Type实体头

Content-Type实体头用于向接收方指示实体的介质类型,指定HEAD方法送到接收方的实体介质类型,或GET方法发送的请求介质类型 Content-Range实体头

8.2    Content-Range

指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:

 Content-Range:bytes-unit<空格>first-byte-pos-last-byte-pos/entity-legth

 例如,传送头500个字节次字段的形式:Content-Range:bytes0- 499/1234如果一个http消息包含此节(例如,对范围请求的响应或对一系列范围的重叠请求),Content-Range表示传送的范围,

8.3    Content-Length

表示实际传送的字节数。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入 ByteArrayOutputStram,完成后查看其大小,然后把该值放入Content-Length头,最后通过 byteArrayStream.writeTo(response.getOutputStream()发送内容。

8.4    Allow

服务器支持哪些请求方法(如GETPOST等)。

8.5    Content-Encoding

文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显着地减少HTML文档的 下载时间。JavaGZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的NetscapeWindows上的IE 4IE 5才支持它。因此,Servlet应该通过查看Accept-Encoding头(即request.getHeader("Accept- Encoding"))检查浏览器是否支持gzip,为支持gzip的浏览器返回经gzip压缩的HTML页面,为其他浏览器返回普通页面。

8.6      Expires

一个条件GET,只有改动时间迟于指定时间的文档才会返回,否则返回一个304Not Modified)状态。应该在什么时候认为文档已经过期,从而不再缓存它。

9       响应消息示例:

HTTP/1.0 200 OK

Date:Mon,31Dec200104:25:57GMT

Server:Apache/1.3.14(Unix)

Content-type:text/html

Last-modified:Tue,17Apr200106:46:28GMT

Content-length:4359

Content-range:bytes554554-40279979/40279980

 

响应消息体…

 

上例第一行表示HTTP服务端响应一个GET方法。绿色的部分表示响应头域的信息,兰色的部分表示通用头部分,红色的部分表示实体头域的信息。

猜你喜欢

转载自cn-done.iteye.com/blog/1068520
今日推荐