我们的网站正在考虑切换到http2.
我的理解是http2渲染文件连接等优化技术已经过时,因为使用http2的服务器只发送一个请求.
相反,我看到的建议是,最好保持较小的文件大小,以便它们更有可能被浏览器缓存.
它可能取决于网站的大小,但如果网站的文件使用http2并希望专注于缓存,它应该有多小?
在我们的例子中,我们的许多单独的js和css文件都在1kb到180kb的范围内.Jquery和bootstrap可能更多.累积起来,我们网站上新下载的页面通常不到900 kb.
所以我有两个问题:
这些文件大小是否足够小,可以被浏览器缓存?
如果它们小到可以缓存,那么对于使用不支持http2的浏览器的用户来说,连接文件是否合适.
在这种情况下拥有更大的文件大小并使用HTTP2会不会有害?这样,运行任一协议的用户都会受益,因为站点可以针对http和http2进行优化.
新的 HTTP/2 协议带有一些很有前途的特性。他们中的一些:
“流”是在 HTTP/2 连接内在客户端和服务器之间交换的独立的双向帧序列。
HTTP/2 背后的动机在这里解释了HTTP/2 FAQ:
HTTP/1.1 已经为 Web 服务了超过 15 年,但它的年龄开始显现出来。
和
工作组的目标是 HTTP/1.x 的典型用途可以使用 HTTP/2 并看到一些好处。
所以 HTTP/2 很好,并开始取代 HTTP/1.x。不幸的是,HTTP/2 不支持 WebSockets。在这个问题中,HTTP/2 是否会使 websockets 过时?很明显 HTTP/2 Server Push 不是替代方案,Server-Sent Events也不是。
现在的问题是:如果我们想要通过 HTTP/2 实现 WebSockts 功能,我们应该使用什么?