Questions tagged [http2]

HTTP2 (or HTTP v2.0) is an alternative to, but does not obsolete, HTTP1.1.

HTTP v1.1's underlying transport has several characteristics that have a negative overall effect on application performance today. HTTP/2 addresses these issues by defining an optimized mapping of HTTP's semantics to an underlying connection. Specifically, it allows interleaving of request and response messages on the same connection and uses an efficient coding for HTTP header fields. It also allows prioritization of requests, letting more important requests complete more quickly, further improving performance.

Source: RFC 7540 @ https://datatracker.ietf.org/doc/html/rfc7540
1819 questions
44
votes
1 answer

Why do web browsers not support h2c (HTTP/2 without TLS)?

I really search the web, and I can not find the reason why web browsers do not support h2c (http/2 with no TLS). Any idea, appreciated. A little bit clarification http/2 with https uses ALPN (this is called h2). http/2 with http does not need…
jackiszhp
  • 767
  • 1
  • 5
  • 11
42
votes
6 answers

Curl: one-liner to test http/2 support

I'm currently writing an unit test to check if http/2 is supported. Is there a curl one-liner which checks if http/2 is supported and outputs a response that is easy to parse?
bn4t
  • 1,448
  • 1
  • 11
  • 23
42
votes
3 answers

What is the difference between HTTP/1.1 pipelining and HTTP/2 multiplexing?

Is it because it requires the responses to be made to client in the order of request that causes the head of line blocking problem in HTTP 1.1? If each request takes exactly an equal amount of time, then there won't be head of line blocking and…
prasun
  • 7,073
  • 9
  • 41
  • 59
41
votes
4 answers

Why bundle optimizations are no longer a concern in HTTP/2

I read in bundling parts of systemjs documentation that bundling optimizations no longer needed in HTTP/2: Over HTTP/2 this approach may be preferable as it allows files to be individually cached in the browser meaning bundle optimizations are…
alisabzevari
  • 8,008
  • 6
  • 43
  • 67
38
votes
3 answers

How does a browser know if a site supports HTTP/2?

If I type out https://http2.golang.org/ the chrome browser will automatically send the HTTP/2 request. How is this done?
fengsp
  • 1,035
  • 1
  • 11
  • 19
37
votes
1 answer

HTTP/2 (HTTP2 or SPDY) on .NET

There's been a lot of news lately about the HTTP/2 standard, very similar to Google's SPDY. It seems like most modern browsers support much of the functionality the finalized HTTP/2 draft lays out (see here, for example). But, from the viewpoint of…
Aaron Thomas
  • 5,054
  • 8
  • 43
  • 89
36
votes
1 answer

What is difference between httpS and http/2?

I'm trying to understand what is the difference between HTTPS and http/2? If I'm going to build a Node.js/express app, what should I use? Can I use HTTPS with http/2? Maybe if I use HTTPS, I don't need http/2 because it's the same, or HTTPS use…
ZiiMakc
  • 31,187
  • 24
  • 65
  • 105
36
votes
3 answers

In which layer is HTTP in the OSI model?

Some said HTTP is in the session layer in the OSI model. But in Tanenbaum's Computer Network, HTTP is said to be in the application layer in the OSI model. Also some said that HTTP has no concept of session. Does it mean that HTTP can't be in the…
Tim
  • 1
  • 141
  • 372
  • 590
34
votes
4 answers

How do I know if my website is being served over HTTP or HTTP/2?

Is there a command or a service that will tell me whether my websites are being served over HTTP or HTTP/2. I found this tool: HTTP/2 Test | A simple HTTP/2.0 test tool, but it only tells me whether my website supports HTTP/2, but not whether it is…
Vadim
  • 1,916
  • 2
  • 19
  • 39
33
votes
4 answers

How to disable HTTP/2 in chrome or chromium?

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…
Everettss
  • 15,475
  • 9
  • 72
  • 98
32
votes
1 answer

What is the value of using Webpack with HTTP/2

I'm starting a new project and I'm trying to be forward thinking about it. I've used Browserify in the past. For my new project I would like to use either Webpack, Rollup, or SystemJS. Webpack looks by far to be the most mature with tons of awesome…
battmanz
  • 2,266
  • 4
  • 23
  • 32
32
votes
4 answers

How to make the .net HttpClient use http 2.0?

I have an asp.net web api hosted on IIS 10 (windows server 2016). When I make a GET request to this from a Microsoft Edge browser, I see that HTTP 2.0 is used in IIS logs 2015-09-20 21:57:59 100.76.48.17 GET /RestController/Native - 443 -…
tcb
  • 4,408
  • 5
  • 34
  • 51
32
votes
2 answers

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

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…
Guillaume D.
  • 3,284
  • 3
  • 20
  • 26
30
votes
1 answer

How many concurrent requests should we multiplex in HTTP/2

For a long time, browsers have used a maximum of 6 concurrent HTTP 1.1 connections per host to retrieve assets from web page. Going (far) beyond this golden standard is perceived as DOS and get you banned from a server. Now there is HTTP/2 and we…
Jeroen Ooms
  • 31,998
  • 35
  • 134
  • 207
28
votes
4 answers

Why is it said that HTTP2 is a binary protocol?

I've just read an article about differences between http1 and http2. The main question that I have is when it says that http2 is a binary protocol but http1 is a textual protocol. Maybe I'm wrong but I know that any data, text or whatever format it…
Christian LSANGOLA
  • 2,947
  • 4
  • 22
  • 36