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

6       响应头域

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

6.1    Location 响应头域

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

6.2    Server 响应头域

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

7       实体内容

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

8       实体头域

       实体头域描述实体的信息,实体头包括 Allow Content- Base Content-Encoding Content-Language Content-Length Content-Location Content-MD5 Content-Range Content-Type Etag Expires Last-Modified extension-header extension-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

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

8.5    Content -Encoding

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

8.6      Expires

一个条件 GET ,只有改动时间迟于指定时间的文档才会返回,否则返回一个 304 Not 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 方法。绿色的部分表示响应头域的信息,兰色的部分表示通用头部分,红色的部分表示实体头域的信息。

你可能感兴趣的:(windows,浏览器,unix,servlet,IE)