2011-08-27 83 views

回答

5

无缓存

如果no-cache指令没有指定字段名,然后缓存绝不能使用响应来满足,而不与原始服务器重新验证成功的后续请求。这允许源服务器甚至通过已配置为对客户端请求返回陈旧响应的高速缓存来防止高速缓存。

如果no-cache指令确实指定了一个或多个字段名称,则缓存可以使用该响应来满足后续请求,但要受限于缓存的任何其他限制。但是,指定的字段名不得在对后续请求的响应中发送,而不会与源服务器成功重新生效。这允许源服务器防止在响应中重新使用某些头字段,同时仍允许缓存响应的其余部分。

最大年龄

表示客户愿意接受其年龄不超过以秒为单位指定时间时的响应。除非包含最大限度的指令,否则客户不愿意接受陈旧的响应。

没有店内

无存储指令的目的是为了防止敏感信息的意外释放或保留(例如,在备份磁带)。 no-store指令适用于整个消息,并可以通过响应或请求发送。如果在请求中发送,缓存绝不能存储这个请求的任何部分或者对它的任何响应。如果在响应中发送,缓存不得存储此响应或引发它的请求的任何部分。该指令适用于非共享和共享高速缓存。在这种情况下,“不得存储”意味着缓存不得有意将信息存储在非易失性存储器中,并且务必尽可能尽快地尝试在转发之后尽快从易失性存储器中删除信息。

即使此指令与响应关联,用户也可以在高速缓存系统之外明确存储这样的响应(例如,使用“另存为”对话框)。历史缓冲区可以将这些响应作为其正常操作的一部分进行存储。

此指令的目的是满足某些用户和服务作者的陈述要求,他们担心通过意外访问缓存数据结构而意外释放信息。尽管在某些情况下使用此指令可能会提高隐私,但我们警告说,它并不是确保隐私的可靠或充分的机制。特别是,恶意或受损的缓存可能无法识别或遵守此指令,并且通信网络可能容易受到窃听。

更多信息@http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.2