相关疑难解决方法(0)

什么是缓存控制:私有?

当我访问chesseng.herokuapp.com时,我得到一个看起来像的响应头

Cache-Control:private
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/css
Date:Tue, 16 Oct 2012 06:37:53 GMT
Last-Modified:Tue, 16 Oct 2012 03:13:38 GMT
Status:200 OK
transfer-encoding:chunked
Vary:Accept-Encoding
X-Rack-Cache:miss
Run Code Online (Sandbox Code Playgroud)

然后我刷新页面然后得到

Cache-Control:private
Connection:keep-alive
Date:Tue, 16 Oct 2012 06:20:49 GMT
Status:304 Not Modified
X-Rack-Cache:miss
Run Code Online (Sandbox Code Playgroud)

所以看起来缓存工作正常.如果它适用于缓存,则ExpiresCache-Control的重点是:max-age.更令人困惑的是,当我在https://developers.google.com/speed/pagespeed/insights/上测试该页面时,它告诉我"利用浏览器缓存".

caching http cache-control browser-cache http-headers

138
推荐指数
3
解决办法
11万
查看次数

使用HTTP标头"Cache-Control:public"有什么风险?

Cache-ControlHTTP/1.1头部可以指定最大年龄以及所述高速缓存的内容是否可以是公共或私有的,指示中间高速缓存是否能够高速缓存的内容.

例如,Ruby on Rails expires_in()默认使用Cache-Control: private

将其公开的风险是什么?如果它是公共的,哪些额外的地方可以缓存内容 - 例如它是代理服务器吗?

如果网站像Amazon.com,但用户是匿名的,那么可能没有太多的隐私问题怎么办?如果用户登录,可能会出现隐私问题,因为数据通过位置并且数据可见.如果那个位置想要"坏",那么Cache-Control: private无论如何它真的不需要关心.

如果它是一个用户可以登录的网站,但网站只搜索鱼油和维生素等健康产品,等等.在这种情况下,涉及的隐私更少,因为它与Amazon.com不同,在那里有更多种类的产品,例如用户可以真正关心隐私问题的书籍.

话虽如此,有什么额外的优势Cache-Control: public

cache-control http-headers

41
推荐指数
2
解决办法
4万
查看次数

从命令行调用Python SimpleHTTPServer,没有缓存选项

在Windows 7上,我使用的是命令行

python -m SimpleHTTPServer 8888
Run Code Online (Sandbox Code Playgroud)

调用一个简单的Web服务器来提供目录中的文件,以便进行开发.

问题是服务器似乎将文件保留在缓存中.尽管有更新的文件,但仍会提供旧版本的文件.

有没有办法直接从命令行指定"无缓存"选项?

python

33
推荐指数
4
解决办法
2万
查看次数

浏览器使用什么启发式来缓存未明确设置为可缓存的资源?

13.2.2启发式过期

由于源服务器并不总是提供明确的到期时间,因此HTTP缓存通常会分配启发式到期时间,采用使用其他标头值(例如Last-Modified时间)的算法来估计合理的到期时间.HTTP/1.1规范没有提供特定的算法,但确实对其结果施加了最坏情况的约束.由于启发式到期时间可能会影响语义透明度,因此应谨慎使用,我们鼓励源服务器尽可能提供明确的到期时间. HTTP/1.1 RFC 2616

浏览器使用什么算法来估算合理的到期时间?

理想的答案将涵盖所有主要浏览器,并提供源代码或官方博客文章的证据.

safari firefox internet-explorer google-chrome browser-cache

24
推荐指数
5
解决办法
4438
查看次数

为什么单独使用ETag不足以使浏览器缓存无效?

我已经阅读了很多与此相关的文章,也阅读了有关HTTP缓存的很好的文章:https : //developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl = en#无效并更新缓存的响应, 但我仍然不清楚:

为什么发送ETag标头不足以使特定资源的浏览器缓存无效?为什么每个人都建议实际更改资源的URL /文件名以强制浏览器重新下载文件?如果浏览器已经使用特定的ETag缓存了文件,并且在服务器上修改了ETag,那还不够吗?

etag caching http

8
推荐指数
1
解决办法
1675
查看次数