【问题标题】:Does Google's mod_pagespeed provide auto versioning of CSS and js files?Google 的 mod_pagespeed 是否提供 CSS 和 js 文件的自动版本控制?
【发布时间】:2015-09-09 21:01:48
【问题描述】:

https://developers.google.com/speed/pagespeed/module/ 该链接没有专门讨论 CSS 和 js 自动版本控制,但我在某处读到该模块可用于 CSS 和 js 文件的自动版本控制。想确认一下。

如果自动版本控制是 google 的 mod_pagespeed 模块的一部分,以及它是否可以与我的 Apache tomcat 8 服务器一起使用,请告诉我?

任何对上述功能的引用将不胜感激。

【问题讨论】:

  • @dandavis: 不确定是什么“默认情况下,所有由您的服务器提供的 HTML 文件以及在其来源与 HTML 文件匹配的 HTML 文件中找到的所有资源(CSS、图像、JavaScript),或其来源是通过域授权的,将被重写。但是,这可以通过使用通配符,使用指令来限制:" 不得不说自动版本控制...?
  • 它说它重写了 css、图像和 js,OP 询问了这 3 个中的 2 个……这个问题本身很奇怪,因为对静态内容进行版本控制以使用持久(永久缓存)的 URL 是pagespeed 的主要功能。
  • 我和 TJ 在一起。我看不出重写(缩小)与自动版本控制有什么关系。
  • 我还听说这个模组处理自动版本控制。我可以理解@dandavis 说它会重写它并且它使用 md5 哈希进行长缓存,但我不确定这个自动版本是否会在更新时恢复文件。我要做一些测试,看看能不能找到

标签: javascript html css mod-pagespeed


【解决方案1】:

我已经进行了一些测试,据我所见,答案是否定的,至少在某种意义上说不会,因为它不会在更改后立即自动版本。

作为参考,我正在运行 Apache 2.4.10。

在我的测试中,我有 4 个 javascript 文件正在监控,这些文件正在通过 pagespeed 进行优化,结果文件的哈希值为 ...pagespeed.jc.bFZBaW2xkN.js

在这个文件中,它还为它组合的每个文件提供哈希值。

var mod_pagespeed_64gxmrG5cP = ...
var mod_pagespeed_r8BXvaG1ZV = ...
var mod_pagespeed_86DySW9yKu = ...
var mod_pagespeed_FAqlx5ADkk = ...

我发现我会更改文件,但在我进行硬刷新(使用 Chrome)之前不会有任何改变。

当硬刷新时,我注意到主文件名 ...pagespeed.jc.bFZBaW2xkN.js 哈希值会更新,并且在文件中查看会显示更改,但表示组合文件的内部哈希值仍然相同。

我最终在一个 php 函数中实现了我自己的自动版本控制,该函数只是将文件修改时间附加到文件末尾作为查询,例如。 somejavascriptfile.js?v=0123456789

现在,如果我触摸文件,主组合文件会更新其哈希值,但内部哈希值也会更新。

希望这可以帮助其他想知道同样事情的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 2011-06-18
    • 1970-01-01
    • 2018-04-15
    • 2011-10-11
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    相关资源
    最近更新 更多