HTTP头部Pragma: Public的含义是什么?

86
HTTP头部Pragma: Public是向代理服务器指示响应可以被缓存并公开缓存的意思。

3
了解上下文可能会很有用。 - Skurmedel
3个回答

44
根据标准Pragma是与实现相关的(第14.32节),除了由于其广泛使用而推荐使用的no-cacheCache-Control(第14.9节)是控制缓存的正确方法。这是标准对Cache-Control: public的说明:

表示响应可以被任何缓存缓存,即使它通常是不可缓存的或只能在非共享缓存中进行缓存。


2
谢谢,但是有很多人编码时发送了一个只包含Pragma: Public的头部。这对于任何主流浏览器意味着什么? - user185631
3
与"Cache-Control: public"相同,也就是他们可以缓存该响应中的信息。 - Gonzalo
2
这意味着程序员应该停止使用它,因为它可能没有任何作用。 - Anthony

11

8

当你遇到这个错误时很有用:http://trac.edgewall.org/ticket/1020。IE 8及以下版本似乎喜欢在SSL服务器上缓存一些东西。加上“Pragma:public”可以帮助解决以下问题:“Internet Explorer无法打开此网站。请求的站点不可用或找不到。请稍后再试”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接