Centos

如何防止壓縮通過 HTTP 提供的圖像

  • January 30, 2016

我在我的伺服器 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 的部分中。

請記住,使用這些標頭提供的任何內容都不會被記憶體,並且性能會受到影響。可能值得閱讀記憶體控制標頭。

引用自:https://serverfault.com/questions/752846