如何解决 Google Page Speed:“未指定过期时间”

Posted

技术标签:

【中文标题】如何解决 Google Page Speed:“未指定过期时间”【英文标题】:How to solve Google Page Speed: "expiration not specified" 【发布时间】:2016-12-28 01:38:24 【问题描述】:

使用GooglePageSpeed 分析在线商店(Shopware)会导致许多“未指定过期”——每张图片上的线条。

我想知道,因为网络服务器 (nginx) 将 Last-Modified-Timestamps 和 ETAG 标头添加到所有图像的响应中,从而导致预期的 304-Response第二个请求。

Google Page Speed 是否不支持 ETAG/LastModified?

我将提供 nginx 配置的适当部分:

location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ 
  expires 1M;
  access_log off;
  add_header Cache-Control "public";


## All static files will be served directly.
location ~* ^.+\.(?:css|cur|js|jpe?g|gif|ico|png|html|xml)$ 
    ## Defining rewrite rules
    rewrite files/documents/.* /engine last;
    rewrite backend/media/(.*) /media/$1 last;

    expires 1w;
    add_header Cache-Control "public, must-revalidate, proxy-revalidate";

    access_log off;
    # The directive enables or disables messages in error_log about files not found on disk.
    log_not_found off;

    tcp_nodelay off;
    ## Set the OS file cache.
    open_file_cache max=3000 inactive=120s;
    open_file_cache_valid 45s;
    open_file_cache_min_uses 2;
    open_file_cache_errors off;

    ## Fallback to shopware
    ## comment in if needed
    #try_files $uri @shopware;

是否有任何错误或遗漏?

【问题讨论】:

找到答案了吗? 我们发现 vhost-config 中有另一个 expire-statement。将它们简化为一个语句解决了我们的问题 【参考方案1】:

最后我们发现,在 vhost-config 中有另一个 expire-statement。将两者简化为一个语句解决了我们的问题

【讨论】:

以上是关于如何解决 Google Page Speed:“未指定过期时间”的主要内容,如果未能解决你的问题,请参考以下文章

AddThis 和 Google Page Speed

使用Page Speed Online改善网站速度

设置 HTTP 缓存过期,由 Google PageSpeed 推荐

Laravel blade 模板压缩加速扩展 renatomarinho/Laravel-page-speed 介绍

Laravel blade 模板压缩加速扩展 renatomarinho/Laravel-page-speed 介绍

Laravel blade 模板压缩加速扩展 renatomarinho/Laravel-page-speed 介绍