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

  如果客户端在其缓存中有一个实体的部分副本,并且希望在其缓存中有整个实体的最新副本,那么它可以使用Range 请求头和一个有条件的GET(使用If-Unmodified-Since和If-Match)。但是,如果由于实体被修改而导致条件失败,那么客户端将不得不发出第二次请求以获得整个当前实体主体。

  If-Range报头允许客户端“短路(short-circuit)”第二个请求。非正式地说,它的意思是“如果实体没有改变,就把我缺少的部分发给我;否则,将整个新实体发送给我”。

        If-Range = "If-Range" ":" ( entity-tag | HTTP-date )

  如果客户端没有实体的实体标记,但是有最后修改日期,它可以在If-Range头字段中使用该日期。(服务器可以通过检查不超过两个字符来区分有效的HTTP-date和任何形式的实体标记。)If-Range头字段应该只与Range头字段一起使用,如果请求不包含Range头字段,或者服务器不支持子范围操作,则必须忽略该报头。

If the entity tag given in the If-Range header matches the current entity tag for the entity, then the server SHOULD provide the specified sub-range of the entity using a 206 (Partial content) response. If the entity tag does not match, then the server SHOULD return the entire entity using a 200 (OK) response.

  如果If-Range头字段中的实体标记与实体的当前实体标记匹配,那么服务器应该使用206(Partial content)响应提供实体的指定子范围。如果实体标记不匹配,那么服务器应该使用200 (OK)响应返回整个实体。

14.28 If-Unmodified-Since

  If-Unmodified-Since请求头字段需要与一个使其成为“条件”的方法一起使用。如果请求的资源在此字段中指定的时间之后没有被修改,服务器应该执行请求的操作,就像If-Unmodified-Sincee头文件不存在一样。

  如果请求的变体自指定时间以来已经被修改,服务器必须不执行请求的操作,并且必须返回412(Precondition Failed)状态。

        If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date

  下面是该字段的一个例子:

         If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT

  如果在请求正常(例如,请求中没有If-Unmodified-Since报头)的情况下,,可能会产生除了2xx或412状态外的其他任何状态,那么If-Unmodified-Since报头应该被忽略。

  如果指定的日期无效,则忽略该头字段。

  此规范未定义具有If-Unmodified-Since标头字段和If-None-Match或If-Modified-Since标头字段的请求的结果。

14.29 Last-Modified

  Last-Modified实体头字段指示原始服务器认为该变体最后被修改的日期和时间。

         Last-Modified  = "Last-Modified" ":" HTTP-date

下面是该字段的是个用法例子:

         Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT

  这个头字段的确切含义取决于原始服务器的实现和原始资源的性质。对于文件,可能只是文件系统最后一次修改的时间。对于包含动态部件的实体,它可能是其组件部件的最后一次修改时间集的最近一次修改时间集。对于数据库网关,它可能是记录的最后更新时间戳。对于虚拟对象,可能是最后一次更改的内部状态。

  源服务器不能发送晚于服务器发出消息时间的Last-Modified日期。在这种情况下,如果资源的最后一次修改将指示将来的某个时间,则服务器必须将该日期替换为消息发起日期。

  原始服务器应该包含尽可能接近于实体生成响应的时间的日期值的Last-Modified值。这允许接收方准确评估实体的修改时间,特别是当实体在生成响应时发生更改。

  HTTP/1.1服务器应该在可行的情况下发送Last-Modified。

14.30 Location

  Location 响应头字段用于将收件人重定向到请求uri以外的位置,以完成请求或标识新资源。对于201(Created)响应,Location是由请求创建的新资源的位置。对于3xx响应,Location应该指示服务器自动重定向到资源的首选URI。字段值由单个绝对URI组成。

         Location       = "Location" ":" absoluteURI

  例子:

         Location:

  注意:Content-Location头字段(14.14节)与Location不同,因为Content-Location标识了请求中包含的实体的原始位置。因此,响应可以包含Location和Content-Location的头字段。某些方法的缓存要求参见第节。

14.31 Max-Forwards

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

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