Alt-Svc 頭

HTTP Alt-Svc 響應頭允許伺服器指示另一個網路位置(“替代服務”)在未來的請求中可以被視為該源的權威。

這樣做可以宣傳新的協議版本,而不會影響正在進行的請求,也可以幫助伺服器管理流量。使用替代服務對終端使用者是不可見的;它不改變 URL 或請求的源,也不引入額外的往返開銷。

頭型別 響應頭
禁止請求頭

語法

http
Alt-Svc: clear
Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age>
Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age>; persist=1
clear

該源的所有替代服務都將失效。

<protocol-id>

應用層協議協商 (ALPN) 協議識別符號。示例包括 HTTP/2 的 h2 和 HTTP/3 協議草案 25 的 h3-25

<alt-authority>

一個帶引號的字串,指定替代權威,由可選的主機覆蓋、冒號和強制的埠號組成。

ma=<max-age> 可選

替代服務被認為是新鮮的秒數。如果省略,預設為 24 小時。替代服務條目可以快取最多 <max-age> 秒,減去響應的年齡(來自 Age 頭)。一旦快取條目過期,客戶端就不能再將此替代服務用於新連線。

persist=1 可選

條目不會因網路配置更改而被刪除。快取的替代服務條目通常在此類更改時被清除。

可以在單個 Alt-Svc 頭中指定多個條目,使用逗號作為分隔符。在這種情況下,靠前的條目被認為是更優先的。

示例

http
Alt-Svc: h2=":443"; ma=2592000;
Alt-Svc: h2=":443"; ma=2592000; persist=1
Alt-Svc: h2="alt.example.com:443", h2=":443"
Alt-Svc: h3-25=":443"; ma=3600, h2=":443"; ma=3600

規範

規範
HTTP 備用服務
# alt-svc

瀏覽器相容性

另見

  • HTTP 工作組主席 Mark Nottingham (2016) 的替代服務