DEV Community

Cover image for What is HTTP/3 ?

What is HTTP/3 ?

Grigor Khachatryan on November 19, 2018

The HTTP-over-QUIC experimental protocol should be renamed to HTTP/3, officials at the (IETF) have disclosed. There is a big gap in development fr...
Collapse
 
rhymes profile image
rhymes

Nice writeup, thanks!

Still waiting for HTTP/2 to overtake HTTP/1.1. We're still behind in adoption :(

Collapse
 
david_j_eddy profile image
David J Eddy

Large, critical systems are hard to upgrade. Especially when it requires OS level changes. 'It works now, dont touch it'. Health care, defense, physical infrastructure controls, industrial control systems. These systems are critical to the safety and daily survival of millions. Upgrading the OS just to be 'up to date with the new hotness' is to much of a risk factor.

Typically these large systems only get upgraded when the hardware is replaces. If you are an American your health insurance company still interacts with AS/400 from the 1970's on a daily basis. Those machines will (nearly) never update from the version/s of software running.

Large systems update slowly, 'cause an outage could be catastrophic to the organization and public safety. The (entertainment) web can do what it wants as fast as it wants 'cause peoples lives are not at risk in daily operation.

Remember, the "internet" is every connected device. The "web" is what can be rendered in your browser.

Collapse
 
rhymes profile image
rhymes

Yeah 21 years of HTTP/1.1 do create some legacy :D

Thread Thread
 
david_j_eddy profile image
David J Eddy

...and HTTP 0.9 was released in ... wait for it ... 1991! Nearly in step w/ HTML. Legacy is an understatement :).

Collapse
 
ben profile image
Ben Halpern

Yeah, but for all intents and purposes, many developers saw gains without having to think about it much. You can't yet rely as much on some of the fancier HTTP/2 stuff, but plenty of CDNs and the like adopted it, giving immediate access to multiplexing, which should have default-helped a lot of developers.

If H/3 just makes things better when available without much implementation burden on the individual developer, should be pretty great. And H/3 seems like a huge leap.

Collapse
 
rhymes profile image
rhymes • Edited

True that!

H/2 is a leap forward and even if it's not 100% supported everywhere it's still something. It's a boon especially for this new wave of JAMstack websites. You can even stop concatenating multiple files into one because of HTTP/2.

Talking about the less fancy features: I wonder if someone could implement a HTTP/2 web server that uses machine learning onto its logs to analyze users patterns and tune server push to maximize client side performance.

Just throwing this out there :D

Collapse
 
amcsi profile image
Attila Szeremi⚡

Google wants QUIC to slowly replace both TCP and UDP as the new protocol of choice

Isn't QUIC used over UDP?

Collapse
 
grigorkh profile image
Grigor Khachatryan

Yes QUIC is-over-UDP.
Sorry for the confusion, I have changed the explanation. Also updated the article.

Collapse
 
rhymes profile image
rhymes

HTTP right now is on top of TCP yes. HTTP/3 will be on top of UDP. It won't matter much to web developers because HTTP already is an abstraction on TCP, we don't use TCP directly.

The only way you need to actually access the TCP/UDP layer is if you're going to write a networking server instead of just using one.

Collapse
 
dance2die profile image
Sung M. Kim • Edited

This was a great intro to whet the appetite :)

The moving picture was worth 1000+ words!

Now I am wondering how long it'd take for the world to adopt H/3. The faster we adopt, the faster we can communicate.

Collapse
 
xowap profile image
Rémy 🤖

Anybody knows the state of FEC in QUIC? All the documents I can find conclude that it's not worth the pain... But I know use cases where it might be REALLY helpful especially if native in HTTP proxies.

Collapse
 
buinauskas profile image
Evaldas Buinauskas

This is nice for web, but seems like a insane booster for competitive gaming where latency matters so much!

Collapse
 
jackharner profile image
Jack Harner 🚀

Unrelated, but did you make the HTTP/3 Glitch gif you used as your cover photo?

Collapse
 
grigorkh profile image
Grigor Khachatryan

Yes, spent more time for making the HTTP/3 Glitch gif than preparing the article.

Collapse
 
jackharner profile image
Jack Harner 🚀

How'd you do it? After Effects I assume?

Thread Thread
 
grigorkh profile image
Grigor Khachatryan

Photoshop + online glitch effect tool.

Collapse
 
marthaelax profile image
Angeiͥͥͥͥͥͥͥͥͥͥͥͥͥͥ

You can get a good result using photomosh (Jitter effect) and can export the result as a .gif

Collapse
 
ben profile image
Ben Halpern

This is really exciting! Looks like a huge leap from HTTP/2!

Collapse
 
quantumsheep profile image
Nathanael Demacon • Edited

It was quic since HTTP/2

Collapse
 
david_j_eddy profile image
David J Eddy

I look forward to this. TLS+H2 over UDP? Wow. What a world we live in!

 
rhymes profile image
rhymes

It would be pretty dangerous to let HTML5 access the networking layer :-)

I'm sure in browser multiplayer games will benefit from HTTP over UDP as well.

Thread Thread
 
easrng profile image
easrng

There is WebRTC, which is, IIRC, run over UDP. If you don't care about P2P, you could conceivably use it between the server and the client, eliminating most of the signaling pain.

Collapse
 
vjnvisakh profile image
Visakh Vijayan

Very nice article.

Collapse
 
mylifewithmyexperiment profile image
SHASHI JAISWAL

With this http/3, the development of transmission will be much faster.

Collapse
 
skrish2017 profile image
Shashi

The banner image spells doomsday! :)

Collapse
 
themainframech profile image
The Mainframe

Great article! Thanks for sharing :)

Collapse
 
inductor profile image
Kohei Ota