代理輪換策略必須跟隨「一個完整任務」的邊界。依賴 Cookie、購物車或固定地區的多步驟流程,通常需要在整段流程保持同一網路身分;彼此無關的公開頁面任務,才適合為每項任務配置新的合格出口。混用兩種模式會造成登入失效、地區內容不一致及基準資料失真。

穩定代理工作階段與依任務受控輪換的住宅代理流程比較

本指南不假設任何供應商的憑證格式,適用於經授權的在地化測試、廣告驗證、市場研究及公開網頁資料蒐集。

什麼是黏著代理工作階段

黏著工作階段要求代理服務在限定時間內,或直到工作階段結束前,盡量讓一個邏輯工作階段保持相同出口身分。應用程式可透過此出口傳送多個請求,同時維持同一 Cookie 容器、地區及帳戶狀態。

「黏著」不代表永久不變。出口可能無法使用,產品可能限制最長時間,路由條件也會改變。正式環境必須偵測非預期換 IP,並判斷是否重啟整個流程,而不是悄悄拼接兩個身分。

什麼是輪換工作階段

輪換策略允許在建立新任務、連線或工作階段時配置新的合格出口。實際輪換可能依請求、連線或產品規則發生。不要假設每次請求都有全球唯一 IP,應用真實產品設定驗證。

輪換最適合彼此獨立的任務。每個任務都應有自己的逾時、結果紀錄與重試上限,一個身分的 Cookie 或驗證狀態不可洩漏至另一個身分。

選擇矩陣

工作流程建議起點原因
登入、購物車、多頁表單黏著應用狀態和網路身分保持一致
區域商店品質測試每區域獨立黏著工作階段語言、貨幣及後續 API 可比較
彼此無關的公開產品頁依任務輪換每頁可獨立測量且不共享狀態
廣告驗證旅程整段旅程保持黏著重新導向和落地頁應代表同一訪客
大型目錄更新檢查受控輪換可分配獨立項目並遵守速率限制
已登入帳戶操作穩定且獲批准的身分異常換 IP 可能觸發安全控制

明確管理工作階段狀態

const session = {
  key: process.env.PROXY_SESSION_KEY,
  gateway: process.env.PROXY_SERVER,
  region: process.env.PROXY_REGION,
  startedAt: Date.now(),
  maxDurationMs: 10 * 60 * 1000,
  cookieJarId: crypto.randomUUID()
};

// 同一黏著工作階段持續綁定同一 Cookie 容器。
// 獨立輪換任務應建立新的狀態物件。

工作階段金鑰、閘道及憑證只能由受保護的執行階段祕密注入。日誌只保存金鑰的單向雜湊,不能保存祕密本身。每個工作者都要知道開始時間、目標區域、Cookie 容器及最大持續時間。

擴大規模前必做的五項測試

1. 工作階段內穩定性

透過同一工作階段傳送短序列,確認出口、國家、ASN 和頁面地區一致,同時記錄網路身分及業務結果。

2. 工作階段之間的分離

建立多個獨立工作階段,測量出口身分變化頻率。目標不是不實際的「每次全球唯一」,而是證明輪換策略符合產品說明。

3. Cookie 連續性

每個黏著工作階段使用獨立 BrowserContext 或 Cookie 容器,確認無害偏好或授權測試工作階段可跨步驟保留。RFC 6265 說明 Cookie 與 Set-Cookie 如何讓 HTTP 維持狀態。

4. 區域一致性

同時檢查 IP 地區、頁面語言、貨幣、時區相關內容與後續 API。IP 位於目標國家仍不足夠,舊 Cookie 或帳戶偏好也會影響內容。

5. 到期與恢復

讓工作階段達到邊界或模擬出口無法使用,確認流程可安全停止、建立新工作階段並從安全檢查點重啟。結帳或登入流程遇到無法解釋的身分變化時,不應繼續。

重試必須維持原定策略

黏著流程的暫時性重試通常應保留同一金鑰和 Cookie 容器。如果身分已無法使用,應以全新狀態重啟完整旅程。獨立輪換任務的重試可使用新工作階段,但必須記錄為新的嘗試,以免灌水成功率。

不要把固定重現的 401、403 或業務驗證失敗當成網路錯誤反覆重試。出現 407 時檢查代理憑證及產品設定;出現 429 時降低並行並遵守目標的重試提示。

並行與速率控制

應依目標、區域和邏輯工作階段限制並行。大量工作者共用一個黏著身分,會產生不真實行為和資源爭用。每個工作階段只承載一段活動旅程,或少量明確相容的請求。

使用帶任務 ID 的佇列。工作者取得工作階段、完成或失敗一項任務、記錄證據並釋放資源,才能計算成本、重試率與可用結果率。

能驗證選擇是否正確的指標

  • 依策略與區域統計的可用結果率;
  • 工作階段完成率及非預期換 IP 率;
  • 每項完整任務的 p50/p95 耗時;
  • 挑戰、407、429 及逾時率;
  • 每個可用結果的重試次數與成本;
  • 地區、語言及貨幣準確率。

較高的原始請求成功率不一定更好。能載入頁面卻破壞購物車的輪換測試仍然失敗;可維持狀態但區域覆蓋不足的黏著測試,也不適合獨立蒐集。

常見故障

  • Cookie 跟著新出口繼續使用:應用狀態與網路身分沒有一起隔離。
  • 旅程中途換 IP:工作階段到期或出口無法繼續保持。
  • 所有工作者共用一個身分:錯誤重複使用工作階段金鑰。
  • 輪換看似無效:連線池或工作階段識別碼仍被重複使用。
  • 地區不一致:IP、瀏覽器語言、時區、Cookie 及帳戶設定衝突。
  • 請求指標很好但訂單失敗:只統計 HTTP 回應,沒有統計業務完成。

上線檢查清單

  • 先定義任務邊界,再決定是否輪換。
  • 代理工作階段與 Cookie 容器位於同一隔離邊界。
  • 設定最大持續時間與安全重啟點。
  • 日誌雜湊識別資訊並移除憑證。
  • 依目標與區域限制並行。
  • 區分網路重試與業務失敗。
  • 統計業務完成,不只查看狀態碼。
  • 只存取獲授權目標並遵守條款與速率限制。

選擇合適的 98IP 產品

需要受控改變網路身分的任務,可評估 98IP 動態住宅代理;需要較長時間保持區域身分時,可比較 98IP 靜態住宅代理。擴大規模前應使用真實業務旅程測試。

98IP 提供上述代理服務,本文由 98IP 團隊發布。代理存取不會取代授權、隱私義務、目標條款或技術速率限制。

常見問題

黏著是否代表 IP 永不改變?

不是。應把黏著視為有邊界的服務行為,並為出口遺失或到期設計安全恢復。

是否應該每次請求都更換 IP?

只有在請求真正獨立且產品支援該輪換模式時才適合。具狀態的旅程通常不應如此。

輪換後還能重複使用 Cookie 嗎?

技術上可行,但可能產生身分與隱私訊號衝突。只有授權測試明確需要時,才應有意識地移轉狀態。

資料說明

本文核對了 RFC 6265 與 Playwright 的 BrowserContext、Isolation 及 APIRequestContext 官方文件,查閱日期為 2026 年 8 月 16 日。依 98IP 零外鏈規則,僅以純文字記錄資料名稱與日期。