首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试实现HTTP2推送

尝试实现HTTP2推送
EN

Stack Overflow用户
提问于 2017-09-29 20:17:48
回答 1查看 355关注 0票数 2

从我所读到的(包括一篇杂乱无章的mag文章和一篇Akamai文章)来看,实现HTTP2服务器推送的方法是向我的网站上的页面添加一两个标题。例如:

代码语言:javascript
复制
Link: </css/styles.css>; rel=preload; as=style
Link: </js/common.js>; rel=preload; as=script

这个准确吗?真的那么容易吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-30 08:34:25

这完全取决于您正在运行的web服务器以及它如何实现HTTP/2 Push (如果有的话)。

例如,使用Link对Apache有效。Nginx目前不支持服务器推送。一些CDN也用Link实现了它。

然而,即使它是那么容易启用,您可能不应该没有进一步的思考。问题是,虽然这可能会加快第一次加载,而且您的JavaScript和CSS随后将被缓存(您正在缓存您的资源客户端,不是吗?如果不是,那么,在正确掌握基本知识之前,甚至不要考虑HTTP/2这样的高级主题)。所以,如果你在它已经缓存的时候推它,那就是浪费。现在,浏览器可以停止推送,如果它不需要该资源,因为在本例中它已经有了它,但这仍然需要时间和精力,对于小型资源(如CSS或JavaScript),它很可能在停止时已经下载了很多。

因此,只有当客户很有可能需要资源时,您才应该进行推送。缓存摘要将是客户端告诉服务器它缓存了哪些资源的一种方式,因此可以帮助服务器决定是否推送,但是它仍然是一项正在进行的工作,如果任何浏览器支持它的话,它是不会消失的。同时,我在Apache中实现了一个简单的基于cookie的实现,您可能会对此感兴趣:https://www.tunetheweb.com/performance/http2/http2-push/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46496378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档