RFC2616-HTTP1.1-Header Field Definitions(头字段规定部分—译文) (11)

  客户端应该只在包含entity-body的消息中发送Date头字段,就像PUT和POST请求那样,即使这样,它也是可选的。没有时钟的客户端不能在请求中发送Date头字段。

  在日期标头中发送的HTTP-date不应该表示消息生成之后的日期和时间。它应该表示消息生成时日期和时间的最佳近似值,除非实现无法生成合理准确的日期和时间。理论上,日期应该表示实体生成之前的时刻。在实践中,日期可以在不影响其语义值的情况下,消息发起期间的任何时候生成。

14.18.1 Clockless Origin Server Operation

  一些原始服务器实现可能没有可用的时钟。没有时钟的原始服务器不能给响应分配Expires或Last-Modified值,除非Date值是由与资源相关联的、具有可靠时钟的系统或用户产生的。它可能分配一个Expires值,该值在服务器配置时或之前是已知的(这使得“pre-expiration”的响应无需单独的存储每个资源的Expires值)。

14.19 ETag

  ETAG响应头字段为所请求的变体提供实体标签的当前值。在 , 和小节中描述了与实体标签一起使用的头字段。实体标签可用于与来自同一资源的其他实体进行比较(参见第节)。

        ETag = "ETag" ":" entity-tag

  例子:

        ETag: "xyzzy"

        ETag: W/"xyzzy"

        ETag: ""

14.20 Expect

  Expect请求头字段被用来描述客户端需要的特定的服务器行为。

        Expect       =  "Expect" ":" 1#expectation

        expectation  =  "100-continue" | expectation-extension

        expectation-extension =  token [ "=" ( token | quoted-string ) *expect-params ]

        expect-params =  ";" token [ "=" ( token | quoted-string ) ]

  服务器如果无法理解或者遵守任何请求中Expect头字段中的任何存在的预期值,那么应该返回适当的错误状态。服务器必须返回417错误,如果任何的“期望”都无法满足,或者有其他的客户端请求错误,一些4XX错误。

  该头字段被定义为可扩展的语法,以用在未来可能的扩展中。如果一个服务器接收到了它不支持的Expect头字段中所包含的拓展词(expectation-extension),那么它必须返回一个417错误(Expectation Failed)。

  “期望”值的比较对于未引用的tokens(包括100-continue)不区分大小写,并且对于引用字符串的期望扩展区分大小写。

  Expect机制是逐跳(hop-by-hop)的:也就是说,如果HTTP/1.1代理接收到了预期无法满足的请求,则必须返回417(Expectation Failed)状态。但是,预期请求头本身是端到端的;如果转发请求,则必须转发它。

  许多较老的HTTP/1和HTTP/1.1应用程序不理解Expect头字段。

  100(continue)状态码的使用方法请查阅小节。

14.21 Expires

  Expires实体头字段给出响应过期的日期/时间。过期的缓存内容通常不会返回缓存机制所缓存的内容(包括代理缓存或用户代理缓存),除非它首先通过原始服务器(或具有实体的新副本的中间缓存)进行验证。有关到期模型的进一步讨论,请参阅第 节。

  Expires字段的存在并不意味着原始资源将在该时间节点点之前或之后改变或不再存在。

  该字段值的格式是由3.3.1节中的HTTP日期定义的绝对日期和时间;它必须是RFC 1123日期格式:

        Expires = "Expires" ":" HTTP-date

  下面是一个使用案例

        Expires: Thu, 01 Dec 1994 16:00:00 GMT

  注意:如果响应包含一个Cache-Control字段和max-age指令(参见14.9.3节),该指令将覆盖Expires字段。

  HTTP/1.1客户端和缓存必须处理其他无效的日期格式,特别是包含“0”的值(例如“已过期”)。

  如果想要将响应标记为“已过期”,那么源服务器需要发送一个等于日期标头值的过期日期。(详情请参阅第 节中的过期计算规则。)

  为了将响应标记为“永不过期”,源服务器发送的Expires日期的值为该响应发送时起的一年后,那么HTTP/ 1.1服务器不应在未来发送超过一年的过期日期。

  如果Expires头字段的日期值在将来的某个时间出现在默认为不可缓存的响应上,那么表示响应是可缓存的,除非Cache-Control头字段( 小节)另有指示。

14.22 From

  From请求头字段,如果存在,需要包含一个客户端使用者的互联网邮箱地址。该地址应该是可以被机器识别的“machine-usable”,具体的规则在 RFC 822 [9]并在 RFC 1123 [8]中做了一些升级:

         From   = "From" ":" mailbox

  下面是一个例子:

         From: webmaster@w3.org

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxpxz.html