cache-control

基于 ETag 的内容重新验证
cache-control

基于 ETag 的内容重新验证

我的 CMS 生成相当复杂的页面,因此需要一点时间(大约 2 秒),这远远超出了我向客户提供页面的时间预算。 但是,对我来说,了解给定页面的当前版本非常容易,因此我可以很容易地判断给定版本是否仍然是最新的。因此,我希望能够实施基于 ETag 的策略,其中对页面的每一个请求都需要重新验证,但如果内容没有变化,服务器将在 10ms 内回复。 为了使此方法有效,我需要在所有客户端之间共享此缓存。只要 ETag 重新验证,我的所有页面对于所有用户来说都将保持相同,因此我可以安全地共享他们的内容。 为了做到这一点,我的页面发出了一个: Cache-Control: p...

Admin

即使配置了 nginx 缓存控制也不起作用
cache-control

即使配置了 nginx 缓存控制也不起作用

我正在使用 WebTest 和 PageSpeed 进行优化。但两者都说没有实现缓存控制,尽管我在配置中已经实现了缓存控制。 配置如下: server { #listen 80; root /var/www/html/public; index index.html index.htm index.php; server_name thewebsite.com; # managed by Certbot location ~* \.(js|css|png|jpg|webp)$...

Admin

这段 varnish 代码起什么作用?
cache-control

这段 varnish 代码起什么作用?

我在 varnish 配置中有此代码,但不确定它有什么用!此配置是否会缓存我的客户端请求?它有什么问题? sub vcl_backend_response { if (beresp.status != 200) { return (pass); } set beresp.http.X-Backend = beresp.backend.name; unset beresp.http.cookie; unset beresp.http.Set-Cookie; if (bereq.http.x-...

Admin

更正 Apache2 AddType 指令以缓存字体
cache-control

更正 Apache2 AddType 指令以缓存字体

我正在使用 apache 2,并在虚拟服务器 conf 文件中设置了如下缓存指令: <FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|woff2)$"> Header set Cache-Control "ETag, public" </Filesmatch> 除了缓存 woff2 字体之外,这似乎运行正常,我已经尝试了以下线程中的所有内容:针对字体 MIME 类型更正 Apache AddType 指令 但是,Google Page Speed 仍将字体报告为未缓存。引用...

Admin

Nginx 带有变量的 expires 指令
cache-control

Nginx 带有变量的 expires 指令

我正在尝试设置动态过期标头。这基本上是我的配置: # http context map $request_uri $expires_time { default -1; *.js max; } server { # server_name/proxy_headers/listen/ssl location / { expires $expires_time; proxy_pass http_serverving_docker_container.docker; } } 我收到此错误消息nginx...

Admin

使用 nginx 和浏览器缓存响应,但不使用 CloudFlare
cache-control

使用 nginx 和浏览器缓存响应,但不使用 CloudFlare

我的后端应用程序发送 Cache-Control 标头,以便 NGINX 和浏览器可以缓存响应。 我希望 CloudFlare 不要缓存这些响应。这是因为它们可能包含非公开信息,并且尽管 NGINX 在缓存时能够识别 cookie,但 CloudFlare 却不能(至少在免费版或专业版中不能) 本质上我希望 NGINX 看到这一点,以便它缓存响应: Cache-Control: public, max-age=x(这是我的后端应用程序发送的内容) CloudFlare 和浏览器可以看到:(因此浏览器会缓存响应,但 CloudFlare 不会,因为它是私有的)...

Admin

Nginx 不会为字体添加过期标头,也不会更改 MIME 类型
cache-control

Nginx 不会为字体添加过期标头,也不会更改 MIME 类型

我的服务器块中有以下位置块/etc/sites-available/example.com: location ~* \.(ttf|woff|woff2|eot|mp4|css|gif|ico|jpeg|jpg|js|png)$ { expires max; log_not_found off; } 这/etc/nginx/mime.types: types { ... application/x-font-ttf ttc ttf; application/x-font-otf otf;...

Admin

Nginx 反向代理忽略缓存头
cache-control

Nginx 反向代理忽略缓存头

我正在使用 nginx 作为负载均衡器。这是我的 nginx 配置文件的简化版本。 upstream myUpstream { server server1.com; server server2.com; } server{ location / { proxy_pass https://myUpstream; } } 为了利用浏览器缓存进行我的 rest api 调用,我将后端服务器设置为设置在 1 小时内过期的缓存标头。 当我将请求直接发送到 server1.com 或 server2.com 时,...

Admin

是否可以使用 .htaccess 指示浏览器缓存 google analytics ?
cache-control

是否可以使用 .htaccess 指示浏览器缓存 google analytics ?

当我跑步时Google PageSpeed Insights我得到以下优化建议。 当我点击利用浏览器缓存它会将我发送到一个建议我使用的页面的链接缓存控制或者ETags。 设置应该足够简单Cache-Control,.htaccess所以我在现有文件中包含了以下几行.htaccess。 <IfModule mod_headers.c> <filesMatch "https://www.google-analytics.com/analytics.js"> Header set Cache-Control "max-age=7...

Admin

add_header 'Cache-Control' 仅在没有位置上下文的情况下有效
cache-control

add_header 'Cache-Control' 仅在没有位置上下文的情况下有效

我已经安装了 nginx/1.10.3 (Ubuntu) 并更改了原始配置文件,使得它在 http 上下文的顶部只有稍许不同: http { add_header 'Cache-Control' 'no-cache'; 并且这是有效的。当我访问 index.html 时,我将在响应标头中看到“no-cache”(使用 / 和 /index.html 测试)。我可以添加更多属性,如“no-store”,这也会起作用,它在这里确实有效。 但我想将无缓存限制为仅 index.html,但我无法让它工作。 http { server { ...

Admin

Nginx 缓存控制 / 过期标头将不起作用
cache-control

Nginx 缓存控制 / 过期标头将不起作用

我到处寻找这个问题的有效答案,但似乎没有一个答案有效。我很抱歉发了这么长的帖子,但我只是想就此寻求帮助。我尽量写得尽可能详细。 我在 CentOS 7 上安装了 ngx_pagespeed 的 nginx 网络服务器,我从源代码构建,但无论如何,我都无法让cache-control或expire标头工作。我搜索并尝试了这里、StackOverflow、nginx wiki 上建议的每一个“解决方案”,并且看到了大约 50 个不同的页面,其中介绍了人们让他们的“工作”的不同方法。 现在我知道 ngx_pagespeed 有自己的缓存,但我的网站似乎没有从中...

Admin

Nginx 不更新 max-age
cache-control

Nginx 不更新 max-age

如果我向配置为缓存上游的 Nginx-proxy 服务器发出请求,我会收到以下响应标头: {'content-length': '13200000', 'x-cache-status': 'MISS', 'server': 'nginx/1.9.9', 'connection': 'keep-alive', 'cache-control': 'max-age=45', 'date': 'Fri, 27 Jan 2017 10:57:55 GMT'} 几秒钟后,我再次执行相同的请求,得到以下标头: {'content-length': '1320000...

Admin

Nginx:利用浏览器缓存远程资源(图像)
cache-control

Nginx:利用浏览器缓存远程资源(图像)

我的一个网站中有一些图片托管在远程服务器上。我还没有弄清楚如何设置Cache-Control为远程源。对于本地文件,我使用: location ~* \.(jpg|jpe?g|gif|png|ico|cur|gz|svgz|mp4|ogg|ogv|webm|htc|css|js|otf|eot|svg|ttf|woff|woff2)(\?ver=[0-9.]+)?$ { expires 1M; add_header Access-Control-Allow-Origin '*'; add_header Pragma public; ...

Admin

使用 mod_cache 和 mod_pagespeed 时的缓存控制
cache-control

使用 mod_cache 和 mod_pagespeed 时的缓存控制

我正在使用 mod_pagespeed 和 mod_cache。 当 mod_pagespeed 和 mod_cache 均关闭时,我看到以下标题: 缓存控制:公共,最大年龄=7200,必须重新验证 当 mod_pagespeed 处于开启状态且 mod_cache 处于关闭状态时,我会在响应中看到以下标题: 缓存控制:max-age=0,无缓存,必须重新验证 正如预期的那样,pagespeed 已经重写了 cache-control。 但是,当 mod_pagespeed 和 mod_cache 都打开时,我看到以下内容: ...

Admin