PHP:加载 gzip 压缩的 javascript 文件

标签 php javascript file gzip

将一组 20-30 个 .js 文件连接成一个大文件是个好主意,用 gzip 压缩这个文件,将它保存为类似 somebigjsfile.js.gz 的文件,然后像这样用 <script type="text/javascript" src="somebigjsfile.js.gz"></script> 加载它。 ?

当至少有一个 .js 文件被修改时(使用 php 的 filemtime 检查),该文件将再次生成。

此外,如果相关,这是针对公共(public)应用的。

最佳答案

我假设您正在尝试节省服务器上的开销,因为每次请求都必须对 javascript 包进行 gzip 压缩?如果那是意图,那么这不是实现它的正确方法。您需要在 header 中指明该文件正在使用 gzip 压缩进行传输,例如:

HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 16:15:12 GMT
Server: Apache/2.0
Vary: Accept-Encoding
Content-Encoding: gzip
Cache-Control: max-age=300
Expires: Thu, 04 Dec 2003 16:20:12 GMT
X-Guru: basic-knowledge=0, general-knowledge=0.2, complete-omnipotence=0.99
Content-Length: 1533
Content-Type: text/html; charset=ISO-8859-1

注意Content-Encoding: gzip

无论如何,连接和压缩您的 javascript 始终是一个好主意,只要您做得对。我还建议在压缩之前使用某种形式的 JS 缩小,因为它会改善压缩后的大小

关于PHP:加载 gzip 压缩的 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5402316/

相关文章:

php - 如何取消转义字符串?

php - 如何通过 Domdocument 获取第一级 dom 元素?

php - 在生成 HTML 输出之前从 php 中的外部 javascript 获取 cookie

javascript - javascript变量可以包含任何东西吗?

android - 将文件发送到 WiFi 打印机

c - 文件返回垃圾,但写入正确

.net - 如何在 .NET 中复制文件夹以及所有子文件夹和文件?

php - 如何在 Zend Framework 2 和 Zend Filter 中以 Zip 格式压缩上传的文件

javascript - chrome.bluetooth.write 错误? IO返回码 : 3758097088

javascript - 从数组中删除重复项的最简单方法,同时仍保留最后一个