http2

Google Chrome does not do multiplexing with http2

孤人 提交于 2019-11-30 14:29:28
I am building a webapp and serving it over http2. However when I analyze network in Google Chrome (Version 59.0.3071.115 (Official Build) (64-bit))'s developers tools, it is clear that multiplexing does not work as there are only 6 active connections (like with http1.1) and the rest of connections are queued. Why is this? Or are my expectations not correct? The screenshot (you can see that protocol is http2): Update #1: The backend runs on nginx 1.13; I am using custom modules loader which loads all the scripts at once (by creating script tag with async attribute in a loop); The screenshot

When does a http2 TCP connection close?

梦想的初衷 提交于 2019-11-30 11:59:37
I understand that http2 uses one tcp connection to serve multiple requests, for example, if I request index.html which contains a.css and a.js, these three requests will be done in one tcp connection. What happens if user clicks index2.html? does this request still use the same previous tcp connection? If so, will the browser keep the connection open until user closes the browser? And on the server side, does the server keep many connections open all the time? When using HTTP/2, browsers typically open only one connection per domain. In your example, index2.html will be sent on the same TCP

How to disable HTTP/2 in chrome or chromium?

橙三吉。 提交于 2019-11-30 11:08:13
I'm trying to debug difference between HTTP/1.1 and HTTP/2. Is there any possibility for disabling HTTP/2 in chrome or chromium? I couldn't find this option flag in chrome 56. I have tried chromium 58 with flag --disable-http2 : ./Chromium.app/Contents/MacOS/Chromium --disable-http2 But content is still delivered with HTTP/2 protocol after using this flag: For what it is worth, the flag works. The issue is that you need to quit EVERYTHING Chrome for it to take effect. Including plugin shims and other chrome tabs and so on. It is not enough just to add the command line switch. An easier way to

HTTP2 and NGINX - when would I use a keepalive directive?

拟墨画扇 提交于 2019-11-30 09:47:26
I am experimenting with migration to http/2. I have set up a Wordpress website and configured NGINX to serve it using http/2 (using SSL/TLS). My understanding of http/2 is that by default it uses one connection to transfer a number of files - rather than opening new connections and repeating SSL handshakes for each file. To achieve a similar effect for http/1.x, NGINX offered the keepalive directive. So does using the keepalive directive make sense when using http/2 exclusively? Checking my config files with "nginx -t" reports no errors when I include it. But does it have any effect?

using --http2.0 option with curl 7.33.0 gives unsupported protocol

一世执手 提交于 2019-11-30 04:55:03
问题 I am using centos 6.2, i needed to use curl --http2.0 in one of the server request, but i was having 7.19.6, after looking at http://curl.haxx.se/docs/manpage.html gives me that --http2.0 option is only supported with curl 7.33.0, so to overcome that problem, i have installed curl 7.33.0 by following the steps from http://www.linuxfromscratch.org/blfs/view/svn/basicnet/curl.html after installing curl, i have tried to use that, but it is still giving me the error as curl(1):unsupported

Does the browser cancel server push when a resource is in cache?

醉酒当歌 提交于 2019-11-30 04:28:29
The HTTP/2 specification indicates that any resource identified in a PUSH_PROMISE frame won't be pushed if the client cancels it. When a browser detects a resource already in the cache, it should cancel the push for this resource. However, I don't see how the browser can detect it. Do the frames provide additional informations like etag or last modified to allow the browser to detect if any cache entry must be evicted or if the push could be canceled? If it's possible, some bandwidth could be saved. However, it seems server-push compromises any client cache optimization. In HTTP/2 the server

What if an HTTP/1.1 client talk to an HTTP/2 only server and what if an HTTP/2 client talk to an HTTP/1.1 only server?

让人想犯罪 __ 提交于 2019-11-30 03:32:12
问题 HTTP/2 is definitely the future trend because it is now the standard of HTTP protocol. As we can see in Can I use, 70.15 percent of browsers support the HTTP/2. But HTTP/2 is so new that there are browsers that only support HTTP/1.x and there are many servers that only support HTTP/1.x. I knew that a client can use HTTP upgrade mechanism to negotiate a proper protocol to communicate with the server. For example, if the server supports HTTP/2, their communicating protocol will switch to HTTP/2

How can I enable HTTP/2 on HAProxy?

↘锁芯ラ 提交于 2019-11-30 00:33:15
问题 We have recently shifted from HTTP to HTTPS. As we have already moved to HTTPS, we are thinking of moving to HTTP/2 to get performance benefits. As explained above that requests between browser and LB are secured (HTTPS) while communication between LB and app server still using HTTP What is the possibility of enabling HTTP /2 with the current setup? Can we enable HTTP/2 between browser and LB while communication between LB and app servers remain on HTTP? 回答1: HAProxy 1.8 supports HTTP/2 From

How to disable HTTP/2 in chrome or chromium?

最后都变了- 提交于 2019-11-29 16:31:47
问题 I'm trying to debug difference between HTTP/1.1 and HTTP/2. Is there any possibility for disabling HTTP/2 in chrome or chromium? I couldn't find this option flag in chrome 56. I have tried chromium 58 with flag --disable-http2: ./Chromium.app/Contents/MacOS/Chromium --disable-http2 But content is still delivered with HTTP/2 protocol after using this flag: 回答1: For what it is worth, the flag works. The issue is that you need to quit EVERYTHING Chrome for it to take effect. Including plugin

Failed to initialize connector [duplicate]

不打扰是莪最后的温柔 提交于 2019-11-29 15:45:28
问题 This question already has answers here : What does “The APR based Apache Tomcat Native library was not found” mean? (11 answers) APR based Apache Tomcat Native library was not found on the java.library.path? (4 answers) Closed 5 months ago . SEVERE: Failed to initialize component [Connector[org.apache.coyote.http11.Http11AprProtocol-8443]] org.apache.catalina.LifecycleException: The configured protocol [org.apache.coyote.http11.Http11AprProtocol] requires the APR/native library which is not