是否存在任何特定的规范流程,浏览器客户端可以使用这些流程动态地鼓励服务器在客户端需要实际使用它们之前使用HTTP / 2服务器推送将其他请求的项目推送到浏览器缓存中(不是说话)关于服务器端事件或WebSockets,这里,顺便说一下,而是HTTP / 2服务器推送)?
答案 0 :(得分:1)
没有任何(尚未)正式指定浏览器要求服务器推送资源。
浏览器可以确定哪些辅助资源需要呈现主资源,并且可以使用HTTP标头在后续请求中机会性地将此信息发送到服务器,但正如我所说,这还没有指定。
[免责声明,我是Jetty HTTP / 2维护者] 另一方面,服务器可以了解浏览器所要求的资源,并可以构建可以推送给客户端的相关资源缓存。
Jetty提供了一个可配置的PushCacheFilter,用于实施上述策略,并实施了HTTP/2 Push Demo。
答案 1 :(得分:1)
服务器推送的目标是服务器在浏览器知道需要哪些相关文件之前,将其他文件(例如javascripts,css)与请求的URL(例如HTML页面)一起发送到浏览器,从而节省了一轮 - 旅行并提高网页加载速度。如果浏览器已经知道需要什么资源,它可以通过正常的HTTP调用请求。