curl hacker Daniel Stenberg has announced that his online booklet, HTTP/3 Explained, is available for download from GitHub. The booklet will remain a work in progress as neither the protocol specifications themselves nor any working implmementation are even remotely ready at this moment.
The book describes what HTTP/3 and its underlying transport protocol QUIC are, why they exist, what features they have and how they work. The book is meant to be readable and understandable for most people with a rudimentary level of network knowledge or better.
These protocols are not done yet, there aren't even any implementation of these protocols in the main browsers yet! The book will be updated and extended along the way when things change, implementations mature and the protocols settle.
Earlier on SN:
The Next Version of HTTP Won't be Using TCP (2018)
Google Touts QUIC Protocol (2015)
Related Stories
Chromium Blog has published an update on Quick UDP Internet Connections (QUIC). QUIC is a UDP-based transport layer network protocol which began testing in the Google Chrome browser in 2013. One of the goals of QUIC is to reduce latency compared to TCP by making fewer round trips between clients and servers. It also handles multiplexing and packet loss better.
QUIC clients store information about QUIC-enabled servers that have been connected to previously, allowing a secure connection to be established immediately (zero-round-trip). Google claims this can enable significant reductions in page load times:
The data shows that 75% percent of connections can take advantage of QUIC's zero-round-trip feature. Even on a well-optimized site like Google Search, where connections are often pre-established, we still see a 3% improvement in mean page load time with QUIC.
Another substantial gain for QUIC is improved congestion control and loss recovery. Packet sequence numbers are never reused when retransmitting a packet. This avoids ambiguity about which packets have been received and avoids dreaded retransmission timeouts. As a result, QUIC outshines TCP under poor network conditions, shaving a full second off the Google Search page load time for the slowest 1% of connections. These benefits are even more apparent for video services like YouTube. Users report 30% fewer rebuffers when watching videos over QUIC. This means less time spent staring at the spinner and more time watching videos.
Google plans to propose QUIC to the Internet Engineering Task Force as an Internet standard, just as it has done with SPDY, which is being superseded by the HTTP/2 standard.
The next version of HTTP won’t be using TCP
In its continued efforts to make Web networking faster, Google has been working on an experimental network protocol named QUIC: "Quick UDP Internet Connections." QUIC abandons TCP, instead using its sibling protocol UDP (User Datagram Protocol). UDP is the "opposite" of TCP; it's unreliable (data that is sent from one end may never be received by the other end, and the other end has no way of knowing that something has gone missing), and it is unordered (data sent later can overtake data sent earlier, arriving jumbled up). UDP is, however, very simple, and new protocols are often built on top of UDP.
QUIC reinstates the reliability and ordering that TCP has but without introducing the same number of round trips and latency. For example, if a client is reconnecting to a server, the client can send important encryption data with the very first packet, enabling the server to resurrect the old connection, using the same encryption as previously negotiated, without requiring any additional round trips.
The Internet Engineering Task Force (IETF—the industry group that collaboratively designs network protocols) has been working to create a standardized version of QUIC, which currently deviates significantly from Google's original proposal. The IETF also wants to create a version of HTTP that uses QUIC, previously referred to as HTTP-over-QUIC or HTTP/QUIC. HTTP-over-QUIC isn't, however, HTTP/2 over QUIC; it's a new, updated version of HTTP built for QUIC.
Accordingly, Mark Nottingham, chair of both the HTTP working group and the QUIC working group for IETF, proposed to rename HTTP-over-QUIC to HTTP/3, and the proposal seems to have been broadly accepted. The next version of HTTP will have QUIC as an essential, integral feature, such that HTTP/3 will always use QUIC as its network protocol.
Google isn't the company that we should have handed the Web over to
Back in 2009, Google introduced SPDY, a proprietary replacement for HTTP that addressed what Google saw as certain performance issues with existing HTTP/1.1. Google wasn't exactly wrong in its assessments, but SPDY was something of a unilateral act, with Google responsible for the design and functionality. SPDY was adopted by other browsers and Web servers over the next few years, and Google's protocol became widespread.
[...] The same story is repeating with HTTP/3. In 2012, Google announced a new experimental protocol, QUIC, intended again to address performance issues with existing HTTP/1.1 and HTTP/2. Google deployed QUIC, and Chrome would use QUIC when communicating with Google properties. Again, QUIC became the basis for IETF's HTTP development, and HTTP/3 uses a derivative of QUIC that's modified from and incompatible with Google's initial work.
It's not just HTTP that Google has repeatedly worked to replace. Google AMP ("Accelerated Mobile Pages") is a cut-down HTML combined with Google-supplied JavaScript designed to make mobile Web content load faster. This year, Google said that it would try to build AMP with Web standards and introduced a new governance model that gave the project much wider industry oversight.
A person claiming to be a former Microsoft Edge developer has written about a tactic Google supposedly used to harm the competing browser's performance:
A person claiming to be a former Edge developer has today described one such action. For no obvious reason, Google changed YouTube to add a hidden, empty HTML element that overlaid each video. This element disabled Edge's fastest, most efficient hardware accelerated video decoding. It hurt Edge's battery-life performance and took it below Chrome's. The change didn't improve Chrome's performance and didn't appear to serve any real purpose; it just hurt Edge, allowing Google to claim that Chrome's battery life was actually superior to Edge's. Microsoft asked Google if the company could remove the element, to no avail.
The latest version of Edge addresses the YouTube issue and reinstated Edge's performance. But when the company talks of having to do extra work to ensure EdgeHTML is compatible with the Web, this is the kind of thing that Microsoft has been forced to do.
See also: Ex Edge developer blames Google tricks in part for move to Chromium
Related: HTTP/2 on its Way In, SPDY on its Way Out
Google Touts QUIC Protocol
Google Attempting to Standardize Features of Accelerated Mobile Pages (AMP)
Google AMP Can Go To Hell
The Next Version of HTTP Won't be Using TCP
HTTP/3 Explained: A Work in Progress
Microsoft Reportedly Building a Chromium-Based Web Browser to Replace Edge, and "Windows Lite" OS
Mozilla CEO Warns Microsoft's Switch to Chromium Will Give More Control of the Web to Google
(Score: 4, Insightful) by ikanreed on Tuesday November 27 2018, @09:55PM (3 children)
All the suddenly fucking deprecated wget-esque libraries buried 10 layers deep in the application stack. They're gonna be so much fun to suddenly break at random when servers update IIS versions or whatever.
"Oh yeah, we need to rewrite our entire set of
sql-over-httpsRESTFUL calls because some hacker realized it took 2 extra bytes per packet to use TCP"(Score: -1, Spam) by Anonymous Coward on Wednesday November 28 2018, @12:17AM
It was an ordinary day. Neither too hot nor too cold, the weather was quite welcoming. Yet, even on an ordinary day, extraordinary things can happen. And on this day, at that time, extraordinary things did happen.
***
What was he witnessing? Just what was Fredrik witnessing? A man was in an alleyway, pummeling something with all his might. After processing the ongoing event for several seconds, Fredrik realized what was happening: Child abuse. That man was abusing a child. Thinking quickly, Fredrik charged in to put an end to the injustice...
***
He had believed it would just be another ordinary day. Yes, "believed," because he had believed that until he saw it.
Ian had just been walking down the sidewalk when he witnessed something truly out of the ordinary. To be honest, the sight of it shocked him to such a degree that he froze on the spot, unable to react for some time. However, using his wisdom and courage, he was able to forcibly snap himself out of his trance-like state and come to terms with the situation. It was a situation unlike any other.
There were two men. Each of those men were wailing on a small child in an alleyway. Ian never thought that he would witness a situation like this firsthand, so he didn't know how to react at first. But, now, he knew what he had to do: Put a stop to the injustice taking place before him.
Always one to act on his convictions, Ian charged in...
***
There were three men in a certain alleyway. But these were no ordinary men, you understand; each of those men possessed unfathomable wisdom, far surpassing that which the average person could even comprehend. This was proven beyond a shadow of a doubt by their actions. You see, each of those men - those wise, courageous men - separately arrived at the awe-inspiring conclusion that justice needed to be dispensed. Hence, the current situation.
All three men were brutally beating and violating a small girl. But, they were doing so in such a way as to cause the maximum amount of suffering possible. For that child, pleas for mercy were all for naught. For that child, suffering was all it knew. For that child, death was but a distant dream. What had the child done to deserve this? No, rather, what didn't that wretched toy do to deserve this?
The girl had the audacity to exist in the presence of men, causing them to become aroused. Then, to make matters even worse, the child tried to reject the men who came to utilize it, when it was all her fault in the first place! Thus, for violating men's rights, justice rained down upon her with a level of fury never before seen.
Slam! Slam! Slam! Slam! Robert, Fredrik, and Ian punched, kicked, slammed, grabbed, pulled, and threw the little girl every which way, from every possible direction. She had screamed at first, but she eventually realized that it was useless, so even that aspect of her resistance vanished. No, that wasn't it; she didn't scream because she was incapable of it, having been transformed into a lifeless husk and all.
Ian pulled his penis out of the toy's anus and sighed in satisfaction. All of the men were smiling and anyone could tell that they were satisfied with this result. Everyone had had their turns, after all. With nothing left to do there, the three wise men walked off into the sunset, talking jovially as they did so.
***
In the coming months, news about three men who were said to possess unfathomable wisdom would travel the globe. Various tales of their exploits were told, but all of those tales had one crucial commonality with respect to the actions of those fabled men: They raped all that they saw...
(Score: 2) by bzipitidoo on Wednesday November 28 2018, @01:57AM
If changes to http break that much software, then perhaps the software wasn't well designed in the first place?
Not that that's at all surprising, with so much software being horribly hacked up, death marched rush jobs by bad programmers.
(Score: 3, Interesting) by driverless on Wednesday November 28 2018, @04:02AM
Oh, that one's easy, to make it easier for large content providers (Google, Facebook, Akamai, Cloudflare) to push content to consumers. Literally. Look at how it's designed and what it does. HTTP/2 was the first step in that direction, HTTP/3 is the final step in the Google-ization of Internet content delivery protocols.
Which also means that /1.1 will be with us forever, and in fact this was explicitly stated by the /2 WG at the time, "let them eat HTTP/1.1 if they find /2 unnecessarily complex", which was the complaint from pretty much every embedded device and IoT thing developer out there. So now HTTP will be fragmented into three totally incompatible methods, 1.x which will be around forever because anything can do it and it just works, 2 which by the looks of it will be a transient thing while Google forces 3 on us, and then maybe eventually 3.
(Score: 2) by Uncle_Al on Tuesday November 27 2018, @11:05PM
HTTP has gone from evil to CONCENTRATED evil
Add direct access by Google to the documents on my computer, and the circuit of evil is complete.
(Score: 4, Informative) by requerdanos on Tuesday November 27 2018, @11:22PM
If you want to read the book (as opposed to simply reading "about" the book), the following link may be of interest: https://daniel.haxx.se/http3-explained/ [daniel.haxx.se]
HTML-With-Lotsa-Frames, PDF, epub, and mobi formats are provided in both English and 简体中文.
(Score: 0) by Anonymous Coward on Tuesday November 27 2018, @11:24PM (3 children)
Seeing as though it won't even use TCP, wrecking every ISP ever, might as well demand ipv6 to be a requirement.
Totally going to be supported guys!
(Score: 2) by bob_super on Tuesday November 27 2018, @11:52PM
I have to read the book to learn how many smart people will exploit having secure connections over unidirectional protocols.
I know it's not impossible. I just don't have a warm fuzzy feeling about it.
(Score: 0) by Anonymous Coward on Wednesday November 28 2018, @01:12AM
No wonder he's banned from the US.
(Score: 3, Insightful) by driverless on Wednesday November 28 2018, @04:04AM
Google is going to push this really, really hard. Once your site falls off the search results because you don't do /3 yet, you'll have no choice. Obey, consume, reproduce, and conform, Google customer.
(Score: 3, Informative) by sorokin on Wednesday November 28 2018, @09:07AM
Frankly, I didn't find the booklet very informative.
If anyone is interested, below are the links that describe the motivation and details very well. At least they work for me.
https://www.slideshare.net/apnic/a-new-internet-intro-to-http2-quic-doh-and-dns-over-quic [slideshare.net]
https://blog.cloudflare.com/the-road-to-quic/ [cloudflare.com]