簡體   English   中英

我們可以使用 HTTP 2 服務器推送其他 CDN 中存在的資產嗎?

[英]Can we HTTP 2 server push assets present in other CDN?

目前,我的 angular 應用程序的 index.html 文件是從 tomcat 服務器(Apache Coyete)生成的。 index.html 文件由指向我們自己的 CDN 的 js、css 和圖像組成。 例子:

<script src="https://mc1.mcdn.in/main.adjhf432hjh23k44.js" />

假設我想服務器推送 ' https://mc1.mcdn.in/main.adjhf432hjh23k44.js ' 文件。 是否可以服務器推送 CDN 鏈接? 另外,有沒有辦法服務器推送與模式匹配的所有文件? 像 main.{hash}.js polyfills.{hash}.js 等

您只能從對資源域具有權威性的連接推送項目。 從 HTTP/2 規范

客戶端必須將服務器不具有權威性的 PUSH_PROMISE 視為流錯誤......類型為 PROTOCOL_ERROR

因此,如果索引文件也通過 CDN 提供服務,那么您可以在該連接上推送靜態資產。 但是,如果 index.html 從單獨的域和 IP 地址提供給資產,則無法推送它們。

考慮到 HTTP/2 推送的 復雜性和瀏覽器支持,您可以使用預加載資源提示來確定項目(特別是后期發現的資源)的優先級,許多人建議將其設為四個就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM