Centos
如何防止壓縮通過 HTTP 提供的圖像
我在我的伺服器 32.07 kB(和我的本地電腦)中有一個已經優化的 JPEG 圖像,800px * 534px,如果我通過瀏覽器請求它,它保持相同的寬度 * 高度,但它的大小變得更小 17,97 Ko 並變為像素化。
我檢查了 Apache 配置:
# LoadModule deflate_module modules/mod_deflate.so
響應標頭:
HTTP/1.1 200 正常 日期:2016 年 1 月 30 日星期六 11:31:50 GMT 伺服器:阿帕奇 最後修改時間:2015 年 12 月 26 日星期六 11:56:02 GMT ETag:“804c-527cbc1833880” 接受範圍:字節 內容長度:32844 內容類型:圖片/jpeg 連接:保持活動
我正在開發安裝在 VPS 伺服器上的 LAMP 環境。我向 OVH 發送了一張票,詢問他們是否在更高級別壓縮圖像,但仍在等待回复。
還有其他地方可以檢查而不是 Apache 嗎?
另一件事,我敢打賭它與瀏覽器無關,因為我在 Firefox 和 Chrome 中得到了相同的結果。
壓縮或不壓縮
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 的部分中。請記住,使用這些標頭提供的任何內容都不會被記憶體,並且性能會受到影響。可能值得閱讀記憶體控制標頭。