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

  Max-Forwards请求头字段为TRACE(9.8节)和OPTIONS(9.2节)方法提供了一种机制,用于限制可以将请求转发到下一个入站服务器的代理或网关的数量。当客户端试图跟踪请求链时,如果请求链在中间链中出现故障或循环,这可能非常有用。

         Max-Forwards   = "Max-Forwards" ":" 1*DIGIT

  最大转发值是一个十进制整数,指示此请求消息可能被转发的剩余次数。

  TRACE或OPTIONS请求的每个代理或网关接收者(包含Max-Forwards头字段)必须在转发请求之前检查并更新其值。如果接收到的值为0,接收方不得转发请求;相反,它必须作为最终接收者做出回应。如果接收到的Max-Foewards值大于零,那么转发的消息必须包含一个更新的Max-Foewards字段,其值递减为1。

  对于本规范中定义的所有其他方法和那些没有明确地将其作为该方法定义的一部分的扩展方法来说,Max-Forwards头字段都可能被忽略。

14.32 Pragma

  Pragma通用头字段用于包含可能应用于请求/响应链上任何接收者的特别的指令。所有实用程序指令从协议的角度指定可选行为;然而,一些系统可能要求行为与指令一致。

         Pragma            = "Pragma" ":" 1#pragma-directive

         pragma-directive  = "no-cache" | extension-pragma

         extension-pragma  = token [ "=" ( token | quoted-string ) ]

  当请求消息中出现no-cache指令时,应用程序应该将请求转发到原始服务器,即使它有被请求内容的缓存副本。这个pragma指令具有与no-cache缓存指令相同的语义(参见节),它的定义是为了向后兼容HTTP/1.0。当一个没有缓存的请求被发送到一个不知道是否兼容HTTP/1.1的服务器时,客户端应该包含这两个头字段。

  Pragma指令必须通过代理或网关应用程序传递,而不管它们对应用程序的重要性如何,因为这些指令可能适用于请求/响应链上的所有接收者。不可能为特定的接收者指定一个实用程序;然而,任何与接收者无关的Pragma指令都应该被接收者忽略。

  HTTP/1.1缓存应该将“Pragma: no-cache”视为客户端发送的“Cache-Control: no-cache”。HTTP中不会定义新的Pragma指令。

  注意:因为“Pragma: no-cache”作为响应头字段的含义实际上没有指定,所以它不能替换响应中的“Cache-Control: no-cache”头字段。

14.33 Proxy-Authenticate

  Proxy Authenticate 响应头字段必须被包含在一个407(Proxy Authentication Required)响应中。字段值包含一个“询问”,该“询问”指示这个请求URI的代理适用的身份验证方案及参数。

         Proxy-Authenticate  = "Proxy-Authenticate" ":" 1#challenge

  HTTP访问身份验证过程被描述为“HTTP身份验证:基本和摘要访问身份验证”[43]。与WWW-Authenticate不同,代理身份验证头字段仅应用于当前连接,不应传递到下游客户端。但是,中间代理可能需要通过从下游客户端请求它们来获得自己的凭证,在某些情况下,这看起来就好像代理在转发Proxy-Authenticate头字段一样。

14.34 Proxy-Authorization

  Proxy-Authorization请求头字段允许客户端将自己(或其用户)标识给需要身份验证的代理。Proxy-Authorization字段值由凭证组成,该凭证包含用户代理的身份验证信息,用于请求的资源和/或领域。

         Proxy-Authorization     = "Proxy-Authorization" ":" credentials

  HTTP访问身份验证过程在“HTTP Authentication:基本和摘要访问身份验证”[43]中有更详细的描述。与Authorization不同,Proxy-Authorization头字段仅适用于使用Proxy- Authenticate字段要求进行身份验证的下一个出站代理。当在一个链中使用多个代理时,Proxy-Authorization头字段将由第一个期望接收凭证的出站代理使用。代理可以将凭证从客户端请求中继到下一个代理,如果这是代理合作验证给定请求的机制的话。

14.35 Range 14.35.1 Byte Ranges(字节范围)

  由于所有HTTP实体在HTTP消息中都表示为字节序列,因此字节范围的概念对任何HTTP实体都有意义。(不过,并非所有客户端和服务器都需要支持字节范围操作。)

  HTTP中的字节范围规范适用于实体主体中的字节序列(不一定与消息主体相同)。

  字节范围操作可以指定单个范围的字节,或者指定单个实体中的一组范围。

         ranges-specifier = byte-ranges-specifier

         byte-ranges-specifier = bytes-unit "=" byte-range-set

         byte-range-set  = 1#( byte-range-spec | suffix-byte-range-spec )

         byte-range-spec = first-byte-pos "-" [last-byte-pos]

         first-byte-pos  = 1*DIGIT

         last-byte-pos   = 1*DIGIT

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

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