Proxy
Squid 2.7 可以代理 gzip 壓縮的內容嗎
我們的網路有一個轉發代理,它是 Squid 2.7。這是由第三方為我們管理的。
我們最近注意到,從我們的網路到網路的 http 請求被
Accept-Encoding
刪除了標頭。這導致我們網路(大約 8000 多台 PC)上的所有 Web 流量都未壓縮,即使每一端的瀏覽器和伺服器都可以使用。我們已經要求第三方對此進行調查,他們說這是因為 Squid 2.7 不支持壓縮。
我理解這是真的,但我的印像是壓縮發生在網路伺服器而不是代理上。所以…
- Squid 2.7 可以代理和/或記憶體 gzip 壓縮的內容嗎?
- 如果可以,如何/為什麼配置它以
Accept-Encoding
刪除標頭?
如果使用者請求壓縮頁面,Squid 2.7 會記憶體壓縮頁面(頁面的多種編碼)。但是如果使用者請求一個非壓縮頁面,那麼 squid 會轉發一個請求一個非壓縮頁面的請求。然後記憶體它。如果請求了壓縮頁面但記憶體了非壓縮頁面,則非壓縮頁面由 squid 提供。但是,如果先記憶體壓縮頁面,然後記憶體非壓縮頁面,然後請求壓縮頁面,則將從記憶體中提供壓縮頁面。
我發現 squid 將記憶體一個頁面的多個編碼僅當非壓縮頁面沒有被首先記憶體/首先請求時,否則非壓縮頁面將被記憶體,並且由於接受編碼是有條件的,所以沒有理由讓 squid 獲取壓縮頁面,因為該請求對於非壓縮編碼頁面是可以的。
# TAG: cache_vary # When 'cache_vary' is set to off, response that have a # Vary header will not be stored in the cache. # #Default: cache_vary on
cache_vary 需要開啟,以便記憶體一個頁面的多個編碼。