亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在同一資源的 http2 推送正在進行時觸發 GET 請求時會發生什么

在同一資源的 http2 推送正在進行時觸發 GET 請求時會發生什么

RISEBY 2023-02-24 15:21:44
當觸發單個 GET 請求時會發生什么,同時正在為同一資源發送 http2 推送?指定的行為是什么以及瀏覽器實際做什么?示例場景可能如下所示:at time 0: GET / (get document) and the server pushes /data.json at time 1: GET /data.json (triggered by script, while the h2 push is still not finished / in-flight)這會導致兩次調用服務器嗎?這種行為是指定的還是特定于瀏覽器的,例如在 Chromium 中可能通過 HTTP 緩存:緩存實現單寫入器 - 多讀取器鎖定,以便在任何給定時間只有一個對同一資源的網絡請求在運行。 https://www.chromium.org/developers/design-documents/network-stack/http-cache
查看完整描述

1 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

RFC 7540 中的 HTTP/2 規范

一旦客戶端收到 PUSH_PROMISE 幀并選擇接受推送的響應,在承諾的流關閉之前,客戶端不應該發出任何對承諾的響應的請求。

因此,如果服務器開始發送的時間不會太長,請求似乎很可能會等待推送響應被傳送:

如果客戶端出于任何原因確定它不希望
從服務器接收推送的響應,或者如果服務器花了
太長時間
才開始發送承諾的響應,則客戶端可以
使用 CANCEL 或 REFUSED_STREAM 發送 RST_STREAM 幀代碼
并引用推送流的標識符。


查看完整回答
反對 回復 2023-02-24
  • 1 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號