I think this is the right decision. I looked at HTTP/2 push in 2017 and the design is very confusing, and the implementations are pretty bad. https://jakearchibald.com/2017/h2-push-tougher-than-i-though... . Chrome's implementation was best, but the design of HTTP/2 push makes it really hard to do the right thing. Not just when it comes to pushing resources unnecessarily, but also delaying the delivery of higher prio…
Do you know maybe whether there are similar adoption rates in HTTP/3? As someone that implemented http/1.1 almost feature complete [1], I think that the real problem on the web is the missing of a testsuite. There needs to be a testsuite for http that both clients and servers can test against, and that is not tied to internal codes of a web browser. I say this because even a simple spec like 206 with multiple range r…
Blink: Intent to Remove: HTTP/2 and gQUIC server push
91–100 of 142 posts
Re: Blink: Intent to Remove: HTTP/2 and gQUIC server push
#92It's simple, debuggable, inherently avoids cache-misses, scales (if you use non-blocking IO and joint concurrent capable language with OS threads).
It also avoids HTTP/TCP head-of-line because you're using a separate socket for your pushes.
Re: Blink: Intent to Remove: HTTP/2 and gQUIC server push
#93HTTP/2 Push allows to _really_ optimize first page load, giving a wow effect. (Especially when you can use a single server w/o geodns to serve the whole world with a really low latency!) I use it on my pet project website, and it allows for a remarkable first page load time. And I don't have to make all these old-school tricks, like inlining CSS & JS. HTTP/2 Push allows for such a pleasant website development. You ca…
Re: Blink: Intent to Remove: HTTP/2 and gQUIC server push
#94Earlier quoted context omitted.
I think this is different than server push like WebSockets; this is all about pushing down resources the server suspects you'll need.
Websockets are different again from both server push and h2 streams. Server push was a feature added in http2 for populating the browser’s cache. Websockets are an http/1.1 extension for tcp-like bidirectional messaging. Server push, websockets, h2 steams and webtransport are all different things.
Re: Blink: Intent to Remove: HTTP/2 and gQUIC server push
#95Earlier quoted context omitted.
For people like me who are unfamiliar with the proposal, 103 Early Hints [1] would work like this. Client request: GET / HTTP/1.1 Host: example.com Server response: HTTP/1.1 103 Early Hints Link: ; rel=preload; as=style Link: ; rel=preload; as=script HTTP/1.1 200 OK Date: Fri, 26 May 2017 10:02:11 GMT Content-Length: 1234 Content-Type: text/html; charset=utf-8 Link: ; rel=preload; as=style Link: ; rel=preload; as=scr…
Do you mean that the same HTTP/1.1 GET request can have two different headers with two different status code? What's the reported status code of this response in typical libraries? Usually the status code is a single value and not a list.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/100
Re: Blink: Intent to Remove: HTTP/2 and gQUIC server push
#96Earlier quoted context omitted.
10x status codes are already used for multipart requests and responses, right? 100 Continue and the like. This is usually handled transparently by your client library.
I'm going to assume many HTTP libraries and ad-hoc implementations expect one HTTP response for one HTTP request (but still support pipelining) and will break if this underlying assumption changes. In fact, this may even be ratified in the interfaces they provide: think synchronous "give contents of this URL" functions.
Re: Blink: Intent to Remove: HTTP/2 and gQUIC server push
#97HTTP/2 Push allows to _really_ optimize first page load, giving a wow effect. (Especially when you can use a single server w/o geodns to serve the whole world with a really low latency!) I use it on my pet project website, and it allows for a remarkable first page load time. And I don't have to make all these old-school tricks, like inlining CSS & JS. HTTP/2 Push allows for such a pleasant website development. You ca…
Would inlining CSS and JS work on web sites (not apps)? I kinda feel inlined JS will bypass bytecode cache and the parsing costs have to be paid on each page load.
Re: Blink: Intent to Remove: HTTP/2 and gQUIC server push
#98HTTP/2 Push allows to _really_ optimize first page load, giving a wow effect. (Especially when you can use a single server w/o geodns to serve the whole world with a really low latency!) I use it on my pet project website, and it allows for a remarkable first page load time. And I don't have to make all these old-school tricks, like inlining CSS & JS. HTTP/2 Push allows for such a pleasant website development. You ca…
Would inlining CSS and JS work on web sites (not apps)? I kinda feel inlined JS will bypass bytecode cache and the parsing costs have to be paid on each page load.
Re: Blink: Intent to Remove: HTTP/2 and gQUIC server push
#99Earlier quoted context omitted.
thanks for that post. that and some other resources convinced me then that my time is better spent elsewhere. in the post it says less then .1% connections in Chrome receive a push event. some people will always try out the cutting edge, but the fact it hasn't spread after several years is a pretty good indicator that it's not producing the expected results. I don't know why things that are "nice to have, but not ess…
Web was always about backwards compatibility. You should be able to contact with HTTP web server deployed in 1995 from modern web browser. Server push is different, because it's supposed to be an invisible optimization, so it could be dropped without anyone noticing. But most things are not invisible.
AFAIK, a web server deployed in 1995 would probably be using HTTP/0.9, and I think modern web browsers don't support any HTTP older than HTTP/1.0 anymore.
Re: Blink: Intent to Remove: HTTP/2 and gQUIC server push
#100I think this is the right decision. I looked at HTTP/2 push in 2017 and the design is very confusing, and the implementations are pretty bad. https://jakearchibald.com/2017/h2-push-tougher-than-i-though... . Chrome's implementation was best, but the design of HTTP/2 push makes it really hard to do the right thing. Not just when it comes to pushing resources unnecessarily, but also delaying the delivery of higher prio…
Of course if your HTML is small it may still be slightly slower than push. However the advantage is that you don't push cached resources over and over again.