代理的HEAD探測成功,應用真正執行GET時卻失敗,這不矛盾。HEAD不傳送資源本文,GET才會走到工作程序需要的內容路徑。先完成四個受控請求的對照,再判斷代理是否正常。

本流程適用於自有診斷端點或明確授權的目標,是測試設計,並非98IP實測結果。先採用很小且無副作用的樣本,不要以大型正式下載或會改變狀態的位址當健康探針。

直連與代理兩組配對測試,分別核對僅有中繼資料的回應卡,以及帶有本文的完整回應卡

一、釐清HEAD成功的意義

合規HEAD回應沒有本文,其表示中繼資料描述對應GET原本會回傳的內容。所以HEAD帶非零Content-Length,不表示這次HEAD必須收到那些本文位元組。將零接收本文判定截斷,反而會誤報。

HEAD 200也無法驗證GET本文、業務標記、解碼或完整傳輸。HTTPS經HTTP代理時,還應區分代理CONNECT回應與目標最終HTTP回應;通道協商成功,不等於目標資源成功。

二、建立規格明確的小型資源

在自有環境建立唯讀測試資源,本文固定且很小,包含已知標記,並約定成功GET結果。記錄精確預期內容與選定表示,比較期間保持樣本不變。不要隨意選用可能成為登入頁或因帳號狀態改變的頁面,除非已將這些行為列入規格。

先確認端點是否支援HEAD,固定用戶端版本、HTTP版本設定、驗證情境、語言、內容協商、重新導向政策與觀察期限。首輪避免條件式請求及Range標頭,以免快取驗證或部分回應改變問題,並記錄仍參與的快取層。

三、逐格執行四項對照

  1. 基準HEAD:不經住宅代理取得樣本中繼資料,確認診斷程序沒有非預期環境代理或自動替代路徑。
  2. 基準GET:以等價的乾淨用戶端呼叫,完整取得小樣本。除方法及必要方法處理外,標頭與核准身分情境保持一致。
  3. 代理HEAD:使用預期端點、協定及代理驗證模式重做中繼資料請求,分別記錄代理協商與目標最終回應。
  4. 代理GET:依相同路徑設定及工作階段政策取得完整小型本文。測試環境支援時記錄實際路徑;設定工作階段標籤本身,不能證明出口固定。

每個回應使用獨立執行ID保存。首輪採用全新且等價準備的連線,避免重用連線成為隱藏變數。若真實應用需要熱連線池,理解基本矩陣後再另列後續案例。

可參考98IP動態住宅代理選項規劃路徑與工作階段,執行前確認實際帳號設定及支援協定。網站測試情境頁與此用途相關,但不保證每個目標都以相同方式處理HEAD與GET,也不代表特定用戶端已通過相容認證。

四、確認用戶端確實送出指定方法

curl的HEAD案例應使用專屬--head選項。只以-X HEAD改變方法文字,並未設定curl完整的HEAD處理方式,可能造成誤判。GET格應另外使用乾淨呼叫,避免殘留--head或非預期自訂方法,並以安全用戶端證據或自有伺服器記錄核對實際方法。

有些工具自動跟隨重新導向,儲存設定也可能改變方法或驗證情境。應記錄導向鏈與最終方法,不只看最後狀態。未遮罩的verbose記錄可能含憑證、Cookie或敏感連結,不宜直接貼入支援單。

五、分開驗收中繼資料及本文

HEAD應記錄目標最終狀態、選定表示的中繼資料,以及是否符合端點聲明的方法支援。HTTP語義允許伺服器省略某些只有產生本文時才能決定的欄位,因此不能強求HEAD與稍後動態GET全部標頭逐位元組一致。

樣本GET則必須符合預期狀態、媒體類型、完整已知本文與標記,並記錄用戶端結果及本文解碼錯誤。要比較相同表示:壓縮傳輸位元組與解碼後文字長度不是同一測量。若刻意測試204、304這類無本文GET結果,應另依該狀態制定規格,不套用此有本文樣本的規則。

逾時、驗證失敗、完整但錯誤的登入文件,是不同GET失敗。成功HEAD不能將任何一種變成通過,證據應能指出失敗階段。

六、按矩陣選擇調查方向

  • 兩路HEAD失敗而GET正常:查端點HEAD支援及方法政策。不支援探針方法,不能證明代理無法提供真實GET工作。
  • 兩路HEAD正常,僅代理GET失敗:查該GET的驗證、導向、傳輸、解碼與目標端證據。HEAD未涵蓋有問題的本文路徑。
  • 兩路GET以相似方式失敗:先查樣本與應用規格,再判斷是否與代理地區相關。
  • 僅代理HEAD失敗而代理GET正常:查路徑中的方法差異,判斷是否應修正探針,而非直接撤下可用GET路徑。

這些模式指向下一步,不是根因判決。保存四格結果,一次只改一個條件。不要同時改出口IP及方法,否則重試成功也無法解釋哪個變數有效。

七、確認健康檢查抓得到假成功

在隔離自有樣本環境,可演練三種案例:拒絕HEAD但提供正確GET;HEAD中繼資料正常但GET標記錯誤;HEAD正常但以受控工具刻意中斷GET本文。檢查應分別辨識探針方法不支援、內容錯誤及傳輸不完整。這些是建議練習,本文並未宣稱已執行。

恢復正常樣本後,依相同矩陣複驗。若保留HEAD作輕量監控,應標明它是中繼資料探針,並視工作需求搭配有界的小型代表性GET。頻率與請求預算需依工作負載及目標授權制定,本文不提供通用安全速率或未測量的節省承諾。

常見問題與驗收清單

HEAD顯示Content-Length卻不下載本文,為什麼?可能是正常行為,因為中繼資料描述的是對應GET表示。

HEAD可取代所有GET健康檢查嗎?不行,它不能證明內容路徑或業務結果。反之,HEAD失敗也不能直接否定正常GET。

  • 自有小型樣本及支援方法已文件化。
  • 基準與代理的HEAD/GET四格使用獨立執行ID及等價控制。
  • 實際最終方法、目標回應與代理協商已區分。
  • HEAD判斷中繼資料,GET另行判斷內容。
  • 受控假成功可被發現,恢復正常樣本後通過複驗。

僅使用已授權端點與身分,探針維持小型且有界,遵守應用限制。分享證據前移除機密及工作階段資料。診斷成功不會賦予存取核准範圍外資源的權限。