如下图的请求中红框现实的是http/1.1。但是有时候会是2,我记得是nginx配置的。
想知道具体什么情况下使用1.1,什么情况下使用2。
今天遇到一个情况,后端改成2了,有些资源拿不到了,这个是为什么?
如下图的请求中红框现实的是http/1.1。但是有时候会是2,我记得是nginx配置的。
想知道具体什么情况下使用1.1,什么情况下使用2。
今天遇到一个情况,后端改成2了,有些资源拿不到了,这个是为什么?
1.1指的是http1.1,2指的是http2。现在没有规定说什么情况用哪个协议。只是在资源的加载速度方面,http2相对http1.1更快,所以现在的趋势都会用http2。
你说的有时候看到是1.1,有时候是2。这个估计是因为不同的资源对应的服务器有没有开启http2导致的。
最后一个问题,比较奇怪。按道理改为http2应该也能拿到资源的。
需要具体问题具体分析,比如拿不到资源是报什么错?资源服务器都是通过nginx来获取的?
3 回答2.4k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
3 回答1k 阅读
1 回答739 阅读
821 阅读
取决于浏览器和服务器是否都支持。
首先 HTTP/2 是建立在 SSL/TLS 的基础之上的,虽然原则上并没有强制使用 HTTPS,但目前的实现上都基于 HTTPS 来实现的。
所以服务器到底返回 HTTP/2 的数据还是 HTTP/1.1 的数据,其决定过程就发生在 SSL 握手阶段。在握手阶段,浏览器与服务器会协商出是否支持 HTTP/2(对于 Chrome 而言主要就是看是否支持 APLN,如果支持,则进入 h2 的处理流程)。
至于你最后的问题,给出的信息太少,无法做出判断。