QUIC(k) HTTP/3

Is it really a “new” protocol?

HTTP/3 isn’t a new protocol, in fact it is being developed for quite some time and you’re probably using it if you use Google services, but it was named QUIC.

Avoid the confusion

There are three different things that one can be talking in respect to QUIC:

  • HTTP over QUIC aims to make use of HTTP/2 application layer with QUIC transport protocol premises. Find more in the HTTP over QUIC draft from IETF.
  • Other applications over QUIC (e.g WebRTC over QUIC).

What does it mean for my project?

Well… if you just updated your project to use HTTP/2, you probably noticed that it took some time to be implemented in Node.js (or other languages/platforms). QUIC (or HTTP/3) is still being developed at IETF, so just have a look into the QUIC draft and HTTP over QUIC draft and don’t worry that much for now.

Node.js

If you want to be adventurous you can try the existing implementations (all work in progress and not production ready). For Node.js there is quic, which still uses a version similar to Google but plans to map IETF draft, and quicker, which is being created by an university in Belgium, but at the time of this writing was using a Node.js 8.6.0.

  • Connection ID, which is a random value created in the first message sent by the client. This is an important value because if you access a webpage using WIFI and suddenly change to mobile data, the same connection is used. This is a huge improvement over TCP where connections are IP dependent.
  • Stream multiplexing, which allow head-of-line blocking elimination. If a packet from a stream is lost, only that stream is affected and not the entire connection (we can still have head-of-line blocking on a stream, but the impact is completely different as having it on the entire connection).

Where can I find more information?


YLD Blog

YLD's latest thoughts on Software Engineering, Design and Digital Products

Daniela Matos de Carvalho

Written by

Full-stack Developer @YLDio, @requirelx organiser, @hapijs (bossy) lead maintainer, photography amateur and origami fan :D

YLD Blog

YLD Blog

YLD's latest thoughts on Software Engineering, Design and Digital Products