簡體   English   中英

透明 HTTP 代理是否應該刪除躍點 HTTP 標頭?

[英]Should transparent HTTP proxy remove hop HTTP headers?

我讀到 HTTP 代理應該刪除跳 HTTP 標頭( https://www.freesoft.org/CIE/RFC/2068/13 )。

這是有道理的,因為其中一些標頭與連接相關。

問題是。 此 RFC 是否僅適用於顯式代理,還是應該在透明 HTTP 代理上完成?

只是給你一個例子。 假設一個客戶端調用 HTTP 並且它有一個明確的代理集。 但是,中間有一個透明代理。 所以,整個管道看起來像這樣

Client <-> Transparent Proxy <-> Explicit proxy <-> Web page

顯式代理可能需要身份驗證,並將發回 Proxy-Authenticate header。

如果透明代理刪除此 header(根據 RFC),則不會提示客戶端進行身份驗證,也不會起作用。

這個立即跳了出來,但我認為當透明代理看起來不應該接觸逐跳標頭時,可以設想其他一些場景。

我是否遺漏了某些內容或逐跳刪除規則僅適用於顯式代理?

不存在透明代理。

就 HTTP RFC 而言,根本沒有這樣的東西。 規范不承認這個概念。 客戶端 (A) 可以連接到服務器 (C) 以獲取或修改資源,或者它可以連接到代理 (B) 以讓后者代表它這樣做。 在前一種情況下,逐跳標頭調節客戶端和服務器之間的連接; 在后者中,它們調節客戶端和代理之間的連接。 如果代理連接到服務器來處理請求,它必須管理自己的代理-服務器鏈接的逐跳標頭。

除此之外,您添加的任何其他內容都不是協議的一方,它的存在不應影響它的運行方式。 (A) 與 (B) 或 (C) 的聯系(或 (B) 與 (C) 的聯系)是否由其他東西介導是無關緊要的。 重要的是,當 (A) 選擇向 (B) 發送請求時,它應該收到與選擇直接向 (C) 發出請求時相同的資源。 (B) 或 (C) 甚至不必是單個主機; 他們自己可以通過任意數量的中間層傳遞請求。

無論如何,“透明代理”也可能是 SOCKS 代理,在這種情況下,它根本不會修改任何 HTTP 標頭,因為它甚至無法確定它首先轉發的內容是否是 HTTP。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM