Firefox 155 支援檢視 NDJSON:代理資料品質檢查的新入口

彩色逐行網際網路資料包通過輪替代理節點進入瀏覽器檢查介面

Firefox 155 於 2026 年 9 月 1 日發佈。開發者說明中有一項對資料團隊很實用的變化:內建 JSON Viewer 現在可以開啟使用常見 JSON Lines 媒體類型或 .jsonl 副檔名提供的 NDJSON 文件。

這與代理支援的資料蒐集有關,因為許多營運記錄天然適合附加寫入。每一行可以代表一次請求、一個代理出口、一次重試、一項解析結果或一個驗收決定。瀏覽器直接檢視這些記錄不能取代自動驗證,但能更快從失敗工作定位到需要檢查的具體事件。

公開來源說明:Mozilla MDN,《Firefox 155 release notes for developers》,2026 年 9 月 1 日發佈。

Firefox 155 改變了什麼

Firefox 的 JSON Viewer 過去主要面向一般 JSON 文件。Firefox 155 將範圍擴充到以 application/jsonlinesapplication/x-ndjsontext/jsonl 提供,或採用 .jsonl 檔名的 JSON Lines 文件。

NDJSON 每一行保存一個有效 JSON 值。與單一大型 JSON 陣列不同,附加式資料流可以一邊產生一邊處理。即使蒐集程序在第 8,500 行後停止,前面的完整行仍可獨立解析與檢查。

瀏覽器功能只是檢視便利,不能證明每一行符合綱要、沒有遺漏,或敏感值已移除。這些仍是資料管線的責任。

為什麼代理團隊應該關注

籠統的成功計數無法說明壞結果來自代理、目標回應、重試策略或解析器。精簡的逐行事件可以保留區分這些層級所需的證據。

每次獲授權請求可以記錄:

欄位用途
事件編號關聯請求、回應與驗證證據
UTC 時間戳記排列不同工作程序與地區事件
目標標籤標識核准目的地而不暴露敏感 URL
代理閘道標籤對路由設定分組而不保存憑證
工作階段編號雜湊關聯黏性工作階段內的事件
出口指紋區分輪替並減少個人資料保留
HTTP 狀態或錯誤類別區分目標回應與傳輸失敗
嘗試次數揭露重試放大
分階段延遲定位連線、TLS、首位元組或讀取等待
驗證結果說明是否產生可用資料

欄位名稱應保持穩定,並明確寫入空值。不要讓一個欄位承擔多種意義,也不要依靠行號推測缺漏內容。

設計「一行一個事件」

最實用的單位是界線明確的事件。每一行應可獨立解析,並足夠精簡,便於檢查、篩選和安全傳輸。

實用事件模型應分開:

  1. 請求意圖:市場、協定、工作階段模式與獲授權目標標籤;
  2. 路由觀測:閘道、位址族與去識別化出口身分;
  3. 回應證據:狀態、內容類型、位元組數及時間;
  4. 處理結果:解析器版本、綱要結果與接受記錄數;
  5. 控制決定:重試、輪替、退避、隔離或停止。

不要保存原始代理 URL,其中可能包含使用者名稱、密碼、閘道位址與定向參數。機密應留在核准的機密管理器中,事件只寫非敏感設定標籤。

使用瀏覽器前先加入完整性控制

瀏覽器檢視是除錯的最後一公里,不是第一道防線。資料流應先由確定性控制產生與驗證:

  • 每一行都有綱要版本;
  • 唯一事件編號與父操作編號;
  • 每個工作程序資料流內單調遞增的序號;
  • 每項工作都有明確開始與完成事件;
  • 匯出診斷包具有校驗和;
  • 匯總嘗試、成功、拒絕及重試數量;
  • 驗證器回報第一條非法行及所有缺少的必要欄位。

多個工作程序寫入同一檔案時,不要假設實體行序就是因果順序,應使用時間戳記、操作編號與序號。

用 Firefox 155 完成有限檢查

代理工作失敗時,使用已去識別化的診斷副本:

  1. 確認檔案使用受支援的 JSON Lines 媒體類型或 .jsonl 副檔名;
  2. 使用 Firefox 155 或更新版本開啟;
  3. 找出第一條驗證失敗或傳輸錯誤事件;
  4. 沿著父操作編號與工作階段雜湊查找關聯行;
  5. 比較前一次嘗試、路由決定及後續重試;
  6. 檢查出口、位址族或閘道是否改變;
  7. 確認最終接受記錄數與下游儲存一致;
  8. 記錄事故原因,但不要把機密複製到工單。

複雜網路事故可以搭配代理繞過稽核代理並行爬坡測試調查。

找出常見代理資料故障

重試膨脹

依操作編號分組並計算嘗試次數。一項工作可能回報完成 10,000 個操作,卻消耗 25,000 次代理請求。最終結果與每次嘗試都應記錄,才能看見頻寬成本及目標負載。

工作階段漂移

在黏性工作階段內比較連續事件的路由與出口欄位。正常輪替與意外工作階段切換需要不同修正方式。

輸出不完整

必須有完成事件,並將其中數量與已接受事件數核對。語法正確的檔案仍可能因工作程序當機而提早結束。

解析器迴歸

保存解析器及綱要版本。若 HTTP 成功率穩定,但驗證失敗在發佈後突然上升,代理可能正常,問題可能在解析器。

位址族混用

明確記錄 IPv4 與 IPv6,否則雙棧差異可能表現為隨機地理或延遲波動。

設定發佈門檻

推廣 NDJSON 記錄變更前,應要求:

  • 每一行都能獨立解析;
  • 每種事件類型的必要欄位完整;
  • 機密掃描未發現代理憑證、Cookie、權杖或個人載荷;
  • 工作開始、完成及數量核對通過;
  • 重試與路由變化保持可見;
  • 截斷及畸形測試檔案按預期失敗;
  • 大型樣本可供人工檢視,但人工檢視不是唯一驗證;
  • 已記錄保留、存取及刪除規則。

使用通過、條件通過、失敗、證據不足四種結論。檔案能在 Firefox 開啟,但數量核對失敗,不能視為通過。

營運檢查清單

  • 將測試設定檔升級到 Firefox 155 或更新版本。
  • 使用受支援的 JSON Lines 媒體類型提供診斷副本。
  • 每一行只放一個可獨立解析的事件。
  • 加入綱要、操作、事件與序號標識。
  • 記錄每次重試,而不只是最終成功。
  • 用標籤記錄閘道與工作階段,不寫憑證。
  • 分開路由、回應、解析及業務驗證欄位。
  • 將工作總計與下游接受記錄核對。
  • 分享前對每次匯出執行機密掃描。
  • 為診斷檔案設定存取控制與刪除日期。

常見問題

Firefox 155 會驗證 NDJSON 綱要嗎?

不會。它只是讓受支援的 JSON Lines 文件更容易檢視。綱要驗證、必要欄位檢查及數量核對必須由資料管線完成。

是否一行代表一個頁面?

不一定。一次請求可能產生多筆記錄,一個頁面也可能依賴多次請求。應採用界線清楚的事件,並用操作編號關聯。

NDJSON 能否為重現保存原始代理憑證?

不應保存。只寫安全設定標籤,獲授權重現時再從核准的機密管理器讀取憑證。

只保留最終成功行足夠嗎?

不足。需要保存嘗試層級證據,才能量測重試、路由變化、成本與部分失敗。

合規說明

只蒐集及檢查獲授權的資料,遵守目的地條款、供應商合約、隱私要求與速率限制。診斷資料流不得保存驗證機密、個人載荷或未受控目標 URL。代理應服務於合法測試與資料營運,不得用於規避存取控制、隱藏濫用或製造虛假流量。