As mentioned previously, the first and primary protocol to transport over QUIC is HTTP.
Much like HTTP/2 was once introduced to transport HTTP over the wire in a completely new way, HTTP/3 is yet again introducing a new way to send HTTP over the network.
HTTP still maintains the same paradigms and concepts like before. There are headers and a body, there is a request and a response. There are verbs, cookies and caching. What primarily changes with HTTP/3 is how the bits gets sent over to the other side of the communication.
In order to do HTTP over QUIC, changes were required and the results of this is what we now call HTTP/3. These changes were required because of the different nature that QUIC provides as opposed to TCP. These changes include:
- In QUIC the streams are provided by the transport itself, while in HTTP/2 the streams were done within the HTTP layer.
- Due to the streams being independent of each other, the header compression protocol used for HTTP/2 could not be used without it causing a head of block situation.
- QUIC streams are slightly different than HTTP/2 streams. The HTTP/3 section will detail this somewhat.