过期标头被浏览器忽略

用户名

我已经在我的.htaccess文件中添加了过期标题,但是它们似乎并没有真正起作用。

在Firefox和Chrome中检查结果时(按F12键,选择“网络”选项,然后按F5键重新加载页面),我注意到我在文件中添加的规则将被忽略。

这些规则是从样板中复制的

# ----------------------------------------------------------------------
# | ETags                                                              |
# ----------------------------------------------------------------------

# Remove `ETags` as resources are sent with far-future expires headers.
#
# https://developer.yahoo.com/performance/rules.html#etags
# https://tools.ietf.org/html/rfc7232#section-2.3

# `FileETag None` doesn't work in all cases.
<IfModule mod_headers.c>
    Header unset ETag
</IfModule>

FileETag None

# ----------------------------------------------------------------------
# | Expires headers                                                    |
# ----------------------------------------------------------------------

# Serve resources with far-future expires headers.
#
# (!) If you don't control versioning with filename-based
# cache busting, you should consider lowering the cache times
# to something like one week.
#
# https://httpd.apache.org/docs/current/mod/mod_expires.html

<IfModule mod_expires.c>

    ExpiresActive on
    ExpiresDefault                                      "access plus 1 month"

  # CSS

    ExpiresByType text/css                              "access plus 1 year"


  # Data interchange

    ExpiresByType application/atom+xml                  "access plus 1 hour"
    ExpiresByType application/rdf+xml                   "access plus 1 hour"
    ExpiresByType application/rss+xml                   "access plus 1 hour"

    ExpiresByType application/json                      "access plus 0 seconds"
    ExpiresByType application/ld+json                   "access plus 0 seconds"
    ExpiresByType application/schema+json               "access plus 0 seconds"
    ExpiresByType application/vnd.geo+json              "access plus 0 seconds"
    ExpiresByType application/xml                       "access plus 0 seconds"
    ExpiresByType text/xml                              "access plus 0 seconds"


  # Favicon (cannot be renamed!) and cursor images

    ExpiresByType image/vnd.microsoft.icon              "access plus 1 week"
    ExpiresByType image/x-icon                          "access plus 1 week"

  # HTML

    ExpiresByType text/html                             "access plus 0 seconds"


  # JavaScript

    ExpiresByType application/javascript                "access plus 1 year"
    ExpiresByType application/x-javascript              "access plus 1 year"
    ExpiresByType text/javascript                       "access plus 1 year"


  # Manifest files

    ExpiresByType application/manifest+json             "access plus 1 week"
    ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
    ExpiresByType text/cache-manifest                   "access plus 0 seconds"


  # Media files

    ExpiresByType audio/ogg                             "access plus 1 month"
    ExpiresByType image/bmp                             "access plus 1 month"
    ExpiresByType image/gif                             "access plus 1 year"
    ExpiresByType image/jpeg                            "access plus 1 year"
    ExpiresByType image/png                             "access plus 1 year"
    ExpiresByType image/svg+xml                         "access plus 1 month"
    ExpiresByType image/webp                            "access plus 1 month"
    ExpiresByType video/mp4                             "access plus 1 month"
    ExpiresByType video/ogg                             "access plus 1 month"
    ExpiresByType video/webm                            "access plus 1 month"


  # Web fonts

    # Embedded OpenType (EOT)
    ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
    ExpiresByType font/eot                              "access plus 1 month"

    # OpenType
    ExpiresByType font/opentype                         "access plus 1 month"

    # TrueType
    ExpiresByType application/x-font-ttf                "access plus 1 month"

    # Web Open Font Format (WOFF) 1.0
    ExpiresByType application/font-woff                 "access plus 1 month"
    ExpiresByType application/x-font-woff               "access plus 1 month"
    ExpiresByType font/woff                             "access plus 1 month"

    # Web Open Font Format (WOFF) 2.0
    ExpiresByType application/font-woff2                "access plus 1 month"


  # Other

    ExpiresByType text/x-cross-domain-policy            "access plus 1 week"

</IfModule>

这些是浏览器中显示的标题。如您所见,脚本和样式表等组件在一个月后过期,而图像在两个月后过期。

样式表标题:

Cache-Control: max-age=2592000, public
Content-Encoding: gzip
Content-Type: text/css
Date: Tue, 21 Jun 2016 16:06:22 GMT
Expires: Thu, 21 Jul 2016 16:06:22 GMT

脚本头:

Cache-Control: max-age=2592000, public
Content-Encoding: gzip
Content-Type: application/javascript
Date: Tue, 21 Jun 2016 16:06:22 GMT
Expires: Thu, 21 Jul 2016 16:06:22 GMT

图片标题:

Cache-Control: max-age=5184000, public
Connection: keep-alive
Date: Tue, 21 Jun 2016 16:10:13 GMT
Expires: Sat, 20 Aug 2016 16:10:13 GMT

有什么我可以做的吗?

尼科·安德拉德(Nico Andrade)

首先,使用curl -IL“(URL)”确认Web服务器正在发送的确切报头。

其次,确保您没有在Chrome中选中“忽略缓存”复选框。

第三,从curl,Chrome和Firefox执行访问日志时,访问日志对这些请求有何看法?

编辑:实际的答案是检查是否有效了过期模块。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Phoenix 框架上设置浏览器缓存和过期标头?

来自分类Dev

使固定的Gridview标头忽略浏览器滚动条JQuery

来自分类Dev

浏览器如何确定Accept标头?

来自分类Dev

如何更改谷歌浏览器的接受标头?

来自分类Dev

如何从CefSharp浏览器获取请求标头?

来自分类Dev

其他浏览器是否会受到特定于浏览器的标头的影响?

来自分类Dev

浏览器忽略Javascript

来自分类Dev

标头重定向在不同的浏览器中产生不同的行为

来自分类Dev

拒绝在浏览器中设置不安全的标头“ Cookie”错误,但请求成功

来自分类Dev

缓存控制响应标头不强制浏览器缓存

来自分类Dev

HTTP2标头与旧版浏览器的兼容性

来自分类Dev

Selenium获取http响应标头或访问浏览器的下载历史记录

来自分类Dev

由于浏览器缓存,PHP标头301重定向不起作用

来自分类Dev

响应中的标头重复/浏览器间歇性失败

来自分类Dev

URL中提供凭据时,为什么浏览器不发送Authentication标头?

来自分类Dev

浏览器未显示X-Forwarded-For标头的原因

来自分类Dev

Set-Cookie存在于标头响应中,但在浏览器中缺失

来自分类Dev

Bootstrap 3-标头在浏览器中具有神奇的空白

来自分类Dev

存在Access-Control-Allow-Origin标头,但浏览器拒绝XMLHttpRequest

来自分类Dev

浏览器请求标头“ Accept-Language”未发送国家

来自分类Dev

如何从浏览器中的提取请求中获取标头位置值

来自分类Dev

Cookies标头存在,但Cookie未存储在浏览器中

来自分类Dev

没有任何Cache-Control标头的浏览器缓存请求/响应

来自分类Dev

哪些请求标头可用于浏览器/客户端指纹?

来自分类Dev

来自浏览器的POST数据未发送身份验证标头

来自分类Dev

浏览器扩展程序可以自动更改HTTP标头吗?

来自分类Dev

如何通过Windows Phone 8的网络浏览器传递自定义标头?

来自分类Dev

生成显示浏览器默认404页面的404标头

来自分类Dev

哪些浏览器在php标头重定向中不支持小写的“位置”?

Related 相关文章

  1. 1

    如何在 Phoenix 框架上设置浏览器缓存和过期标头?

  2. 2

    使固定的Gridview标头忽略浏览器滚动条JQuery

  3. 3

    浏览器如何确定Accept标头?

  4. 4

    如何更改谷歌浏览器的接受标头?

  5. 5

    如何从CefSharp浏览器获取请求标头?

  6. 6

    其他浏览器是否会受到特定于浏览器的标头的影响?

  7. 7

    浏览器忽略Javascript

  8. 8

    标头重定向在不同的浏览器中产生不同的行为

  9. 9

    拒绝在浏览器中设置不安全的标头“ Cookie”错误,但请求成功

  10. 10

    缓存控制响应标头不强制浏览器缓存

  11. 11

    HTTP2标头与旧版浏览器的兼容性

  12. 12

    Selenium获取http响应标头或访问浏览器的下载历史记录

  13. 13

    由于浏览器缓存,PHP标头301重定向不起作用

  14. 14

    响应中的标头重复/浏览器间歇性失败

  15. 15

    URL中提供凭据时,为什么浏览器不发送Authentication标头?

  16. 16

    浏览器未显示X-Forwarded-For标头的原因

  17. 17

    Set-Cookie存在于标头响应中,但在浏览器中缺失

  18. 18

    Bootstrap 3-标头在浏览器中具有神奇的空白

  19. 19

    存在Access-Control-Allow-Origin标头,但浏览器拒绝XMLHttpRequest

  20. 20

    浏览器请求标头“ Accept-Language”未发送国家

  21. 21

    如何从浏览器中的提取请求中获取标头位置值

  22. 22

    Cookies标头存在,但Cookie未存储在浏览器中

  23. 23

    没有任何Cache-Control标头的浏览器缓存请求/响应

  24. 24

    哪些请求标头可用于浏览器/客户端指纹?

  25. 25

    来自浏览器的POST数据未发送身份验证标头

  26. 26

    浏览器扩展程序可以自动更改HTTP标头吗?

  27. 27

    如何通过Windows Phone 8的网络浏览器传递自定义标头?

  28. 28

    生成显示浏览器默认404页面的404标头

  29. 29

    哪些浏览器在php标头重定向中不支持小写的“位置”?

热门标签

归档