我的服务器(以及本地计算机)中有一个已优化的 JPEG 图像,大小为 32.07 kB,800px * 534px,如果我通过浏览器请求它,它会保持相同的宽度 * 高度,但其尺寸会变小 17,97 Ko 并变得像素化。
我检查了 Apache 配置:
# 加载模块 deflate_module 模块/mod_deflate.so
响应标头:
HTTP/1.1 200 正常 日期:2016 年 1 月 30 日星期六 11:31:50 GMT 服务器:Apache 最后修改时间:2015 年 12 月 26 日星期六 11:56:02 GMT ETag:“804c-527cbc1833880” 接受范围:字节 内容长度:32844 内容类型:image/jpeg 连接:保持连接
我正在 VPS 服务器上安装 LAMP 环境。我向 OVH 发送了一张工单,询问他们是否在高级级别压缩图像,但仍在等待回复。
除了 Apache 之外,还有其他地方可以检查吗?
另外,我敢打赌这与浏览器无关,因为我在 Firefox 和 Chrome 中得到了相同的结果。
答案1
压缩或不压缩
Content-Length: 32844
与您的 jpeg 大小匹配,并且没有标头表明文件已压缩。我假设您也从工作站测试了这一点?
如何验证
使用 curl 或 wget 将图片拉到电脑上,并验证图片大小是否没有改变,假设您的连接是 HTTPS,并且没有其他东西可以拦截通信,例如代理或防病毒软件。代理肯定会改变图片的大小。
代理测试
假设您的 apache 安装中有 mod_headers 模块,请将以下内容添加到您的 apache 配置中以告诉代理不要动该文件。
header set cache-control "private, max-age=0, no-cache, no-transform, no-store"
header set Pragma no-cache
这应该放在<Directory>
您正在测试的 jpeg 的特定部分中。
请记住,使用这些标头提供的任何内容都不会被缓存,并且性能会受到影响。可能值得阅读有关缓存控制标头的内容。