The next version of HTTP won’t be using TCP

The next version of HTTP, as agreed upon by the Internet Engineering Taskforce, is going to make some big changes.

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.

I am ashamed to admit that I actually know remarkably little of how the core technologies underpinning the internet and the world wide web actually work. It’s apparently so well-designed and suited for its task that few of us ever really have to stop and think about how it all works – but when you do, it kind of feels like magic how all of our computers, smartphones, and other connected devices just talk to each other and every little packet of data gets sent to exactly the right place.

35 Comments

  1. kwan_e 2018-11-13 1:27 am EST
    • 0brad0 2018-11-13 1:37 am EST
      • kwan_e 2018-11-13 2:24 am EST
        • galvanash 2018-11-13 3:36 am EST
          • Lobotomik 2018-11-13 11:44 am EST
    • The123king 2018-11-13 8:58 am EST
  2. Sauron 2018-11-13 4:54 am EST
    • galvanash 2018-11-13 6:46 am EST
      • flanque 2018-11-13 7:15 am EST
      • Sauron 2018-11-13 6:00 pm EST
      • Jedd 2018-11-14 6:09 am EST
  3. ThomasFuhringer 2018-11-13 8:56 am EST
  4. The123king 2018-11-13 8:59 am EST
    • The123king 2018-11-13 9:00 am EST
      • ohbrilliance 2018-11-14 12:40 am EST
      • Alfman 2018-11-14 2:02 am EST
        • CodeMonkey 2018-11-14 9:06 pm EST
    • Megol 2018-11-13 9:20 am EST
      • galvanash 2018-11-14 12:37 am EST
    • Jedd 2018-11-14 6:10 am EST
  5. Alfman 2018-11-13 1:02 pm EST
    • tidux 2018-11-13 9:32 pm EST
      • Alfman 2018-11-14 2:46 am EST
  6. ahferroin7 2018-11-13 1:12 pm EST
    • Alfman 2018-11-13 1:36 pm EST
  7. 2018-11-13 1:38 pm EST
    • Alfman 2018-11-13 2:07 pm EST
      • Drumhellar 2018-11-13 8:14 pm EST
        • kwan_e 2018-11-13 11:04 pm EST
    • M.Onty 2018-11-13 2:13 pm EST
    • M.Onty 2018-11-13 2:35 pm EST
    • kwan_e 2018-11-13 11:20 pm EST
  8. hackus 2018-11-14 8:21 pm EST
    • kwan_e 2018-11-14 11:57 pm EST
  9. yousif 2018-11-16 5:34 am EST