目前,我的角度应用程序的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等
您只能从对资源域具有权威性的连接中推送项目。 From the HTTP/2 specification:
客户端必须将服务器不具有权威性的PUSH_PROMISE视为流错误...类型为PROTOCOL_ERROR
因此,如果索引文件也通过CDN提供,则可以在该连接上推送静态资产。但是,如果将index.html从单独的域和IP地址提供给资产,则无法将其推送。
您可以使用preload resource hint来对项目(尤其是较晚发现的资源)进行优先级排序,考虑到HTTP / 2推送的complexities and browser support,许多项目建议将这些项目确定为四个优先级。