Alt-Svc

Alt-Svc HTTP 標頭允許伺服器指示另一個網路位置(“備用服務”)可以在進行未來請求時被視為該源的權威來源。

這樣做允許新協議版本在不影響正在進行的請求的情況下進行廣告,並且還可以幫助伺服器管理流量。使用備用服務對終端使用者不可見;它不會更改請求的 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

特殊值clear 表示源請求使該源的所有備用服務失效。

<protocol-id>

ALPN 協議識別符號。例如,h2 代表 HTTP/2,h3-25 代表 HTTP/3 協議的草案 25。

<alt-authority>

指定備用權威的帶引號字串,該字串包含可選的主機覆蓋、冒號和強制性的埠號。

ma=<max-age> 可選

備用服務被認為是新鮮的秒數。如果省略,則預設為 24 小時。備用服務條目可以快取長達 <max-age> 秒,減去響應的年齡(來自 Age 標頭)。快取條目過期後,客戶端將無法再將此備用服務用於新連線。

persist=1 可選

通常,快取的備用服務條目在網路配置更改時會被清除。使用 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

瀏覽器相容性

BCD 表格僅在瀏覽器中載入

另請參閱

  • 備用服務(HTTP 工作組主席 Mark Nottingham 關於 Alt-Svc 的文章)