Signed HTTP Exchange

Kinuko Yasuda

Signed HTTP Exchange (簡稱「SXG」) 是新興技術的一部分,稱為 網頁套件,可讓發布商 以安全的方式將其內容提供給使用者,即由其他使用者轉散佈該內容。 同時保有內容的完整性和出處。攜帶式 內容在許多方面都有其優點,例如加快內容傳遞速度 讓使用者能輕鬆分享內容,並提供更簡單的離線服務。

那麼 Signed HTTP Exchange 如何運作?這項功能可讓發布商 簽署單一 HTTP 交換庫 (即要求/回應配對) 時,Signed Exchange 可以 由任何快取伺服器提供當瀏覽器載入這個 Signed Exchange 時 網址就可以安全地在網址列中顯示發布商的網址,因為簽章 足以證明內容原本來自 發布商來源。

Signed Exchange:重點

並將內容來源與發布者加以分離。你的內容 都能在網路上發布,不必依賴特定伺服器、連線 或代管服務!我們期待能夠運用的 SXG 功能如下:

  • 保護隱私權的預先擷取:預先擷取資源 (例如 透過 link rel=prefetch) 之後的瀏覽方式能加快瀏覽速度 也有隱私權方面的缺點舉例來說,預先擷取 跨來源瀏覽功能會向到達網站揭露使用者 對某項資訊感興趣,即使使用者 且最後沒有造訪網站另一方面,SXG 允許 從快速的快取預先擷取跨來源資源,而不必存取 然後只在 系統就會設定說明文字我們認為這對網站來說相當實用 目標是將使用者帶往其他網站。尤其是 Google Google 搜尋結果網頁 改善 AMP 網址 加快搜尋結果的點擊速度

  • 在不隱藏憑證私密金鑰控制的情況下,CD 的優點: 突然走紅的內容 (例如 reddit.com 第一頁) 常導致網站超載 而且網站規模相對較小 放慢速度,甚至暫時無法使用您可能會遇到 但如果內容是透過快速、強大的快取伺服器和 SXG 共用,則避免使用此方法 可讓您在不共用 TLS 金鑰的情況下完成作業。

試用 Signed Exchange

Chrome 73 以上版本支援 Signed Exchange,舊版 就能當做來源試用

建立 SXG

如要替來源 (身為發布者) 建立 SXG,你必須擁有 憑證金鑰進行簽署,且憑證必須有特殊的 「CanSignHttpExchanges」擴充功能 視為有效的 SXG 處理。自 2018 年 11 月起,DigiCert 是唯一支援這項擴充功能的 CA,您可以要求 本公司提供的 SXG 憑證 請參閱這個網頁的說明。

取得 SXG 憑證後,即可使用 參考產生器工具

您也可以前往 Chrome 的程式碼存放區 (例如:這個 是最簡單的用途 單一文字檔)。 請注意,這些 ID 主要用於本機測試,因此不可預期 簽名中具有有效的憑證和時間戳記。

在本機測試功能

如要建立測試用的 SXG 自行簽署的憑證 並啟用 chrome://flags/#allow-sxg-certs-without-extension 以 Chrome 會處理使用憑證建立的 SXG (不含特殊擴充功能)。

如果您的伺服器、憑證和 SXG 伺服器、憑證和 SXG,應該也能正常運作 已正確設定:

<!-- prefetch the sample.sxg -->
<link rel="prefetch" href="https://your-site.com/sample.sxg" />

<!-- clicking the link below should make Chrome navigate to the inner
     response of sample.sxg (and the prefetched SXG is used) -->
<a href="https://your-site.com/sample.sxg">Sample</a>

請注意,只有錨定標記 (<a>) 和 link rel=prefetch 才支援 SXG Chrome 73 以上版本。另請注意,簽章的有效期限上限為 7 天,因此已簽署的內容很快就會過期。

提供意見

我們很樂意聆聽您對這項實驗的寶貴意見,網址為: webpackage-dev@chromium.org。你可以 參加規格討論 或報告 Chrome 錯誤 團隊您的寶貴意見將有助於我們進行標準化程序 並協助我們解決導入問題

意見回饋