当前位置: 首页 > 知识库问答 >
问题:

头缓存-始终在apache上发送控件

司国源
2023-03-14
<IfModule mod_expires.c>
 ExpiresActive On
  ExpiresByType image/gif "access plus 27 days"
  ExpiresByType image/jpeg "access plus 27 days"
  ExpiresByType image/png "access plus 27 days"
  ExpiresByType text/css "access plus 27 days"
  ExpiresByType text/javascript "access plus 27 days"
  ExpiresByType application/javascript "access plus 27 days"
  ExpiresByType application/x-javascript "access plus 27 days"
</IfModule>

<ifModule mod_headers.c> 
    # One month for image and video files
    <filesMatch ".(flv|gif|ico|jpg|jpeg|mp4|mpeg|png|svg|swf|webp)$">
        Header unset Cache-Control
        Header set Cache-Control "max-age=2592000, public"
    </filesMatch>

    # One month for JavaScript and PDF files
    <filesMatch ".(js)$">
        Header unset Cache-Control
        Header set Cache-Control "max-age=2592000, public"
    </filesMatch>

    # One month for CSS files
    <filesMatch ".(css)$">
        Header unset Cache-Control
        Header set Cache-Control "max-age=2592000, public"
    </filesMatch>
</ifModule>
HTTP/1.1 200 OK
Date: Fri, 16 Aug 2019 02:49:11 GMT
Server: Apache
Cache-Control: private, max-age=0, must-revalidate
Last-Modified: Sat, 04 May 2013 12:52:00 GMT
ETag: "108a-4dbe3eef5fc00-gzip"
Accept-Ranges: bytes
Cache-Control: max-age=2592000, public
Expires: Sun, 18 Aug 2019 02:49:11 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 4221
Keep-Alive: timeout=5, max=96
Connection: Keep-Alive
Content-Type: image/gif

共有1个答案

宋康安
2023-03-14

在应用此配置时,expires模块尚未设置标头,因此标头unset cache-control行不会执行任何操作。

相反,只需关闭这些部分中的expires模块即可。即替换这个:

Header unset Cache-Control

有了这个:

<IfModule mod_expires.c>
  ExpiresActive Off
</IfModule>
 类似资料:
  • 我们已经配置nginx服务器添加缓存控制头到公共和到期时间到1个月。但是当我们从浏览器发出请求时,客户端正在添加缓存控制:无缓存头。正因为如此,它每次都是新鲜下载内容,而不是提供缓存版本。 我怎样才能缓存静态文件? 如果我从终端触发请求,服务器添加的缓存控制标头在响应标头中可见。

  • 我有一个问题与超文本传输协议头-缓存控制:max-age=1234我的源有那个头,但任何方式发送请求和接收304.我需要可能我错过了什么?还有一个,源除了缓存控制: max-age=1234在"响应头"有缓存控制: max-age=0在"请求头",可能是它的影响。 我的一个资源响应标题,示例: > 远程地址:10.6.237.13:443请求请求方式:GET状态码:304未修改

  • 我在S3上存储了图像,并使用lambda函数动态调整图像大小。在此过程中,我将添加到调整大小的图像中,并添加一个缓存控件头: 如果已经生成了缩略图,我只需要: null 控制缓存不存在,我想不出来... 当我使发行版中的所有映像无效时,唯一的变化是X-cache的值:第一次加载时的'error from cloudfront'(状态为200,映像加载正常)

  • 问题内容: 会话问题变得非常烦人。每次尝试在特定页面上启动会话时,都会出现以下错误: 使用此代码: 是否暗示我已经使用过?香港专业教育学院环顾四周,但没有什么可以真正解决这个问题。 谢谢 问题答案: “已发送标头”表示您的PHP脚本已经发送了HTTP标头,因此它现在无法对其进行修改。 在致电之前,请检查您是否未发送任何内容。更好的是,只需将您要做的第一件事放在PHP文件中(因此,绝对要放在所有HT

  • 我还没有完全理解.NETMVC的HTTP缓存是如何工作的,因为它看起来并不像是在实际检索缓存的资源文件。我想我需要在某处添加一些额外的代码。。。 首先,让我们看看我是如何在静态内容(即图像)上设置HTTP缓存的。在我的网络中。config,我有以下内容: 这会导致我的应用程序中的图像看起来缓存正确。当我查看图像的响应标头时,我看到以下内容(删除了不必要的标头): 我看到一个很好的ETag值,我的过

  • 在nginx中使用add_header指令时,会将该头添加到来自源服务器的响应中。 假设源服务器返回缓存控制公共,最大年龄=60。但在nginx反向代理位置中,您可以设置如下内容: 添加\u头缓存控制公用,最大年龄=10 这到底是做什么的?我可以想到两种不同的情况: 1)Nginx尊重来自源服务器的缓存控制报头,并将内容存储在其缓存中,过期时间为60秒。然后传递带有覆盖标头的响应,导致客户端将资源