Stories
Slash Boxes
Comments

SoylentNews is people

posted by chromas on Tuesday November 13 2018, @03:12AM   Printer-friendly
from the with-blackjack-and-hookers dept.

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.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Insightful) by jb on Tuesday November 13 2018, @04:21AM (11 children)

    by jb (338) on Tuesday November 13 2018, @04:21AM (#761151)

    This is nonsense, up with which we ought not put ;)

    TCP packets have a size limit of 65,535 bytes, although it's unusual (at least in this part of the world) to find a WAN link with an MTU over 1,500 bytes. TCP headers are 20 to 60 bytes in length. UDP headers are 8 bytes in length.

    So by using shorter L4 headers we're talking an bandwidth efficiency dividend of between 0.00018% at worst and 0.03467% at best.

    IP round trip times across the 'net (assuming a reasonably decent local uplink) tend to run to tens of milliseconds. So a single packet for establishment instead of three is likely to reduce connection establishment latency by between 20ms & 100ms.

    Those efficiency dividends sound rather paltry.

    If we want to speed up HTTP transactions, there are much simpler approaches which will yield far greater performance improvements.

    For human-readable web sites --- simply design them properly, without the mountains of javascript and ridiculously oversized images that have become the fashion of late.

    For machine-machine comms -- again, simply choose an API that isn't 90+% syntactic sugar or redundancy (just because storing data locally with XML can be handy, doesn't mean it's a good choice for communicating over WANs) ... [and for those extremely rare projects where 20ms extra latency really is a problem, HTTP is a poor L5 protocol choice anyway]

    Starting Score:    1  point
    Moderation   +4  
       Insightful=4, Total=4
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 5, Insightful) by choose another one on Tuesday November 13 2018, @09:11AM (1 child)

    by choose another one (515) Subscriber Badge on Tuesday November 13 2018, @09:11AM (#761200)

    > For human-readable web sites --- simply design them properly, without the mountains of javascript and ridiculously oversized images that have become the fashion of late.

    The javascript and large images is not the biggest problem, IMO. I just did a quick test (without ad blockers) for kicks:

    front page of this site: 17 requests, all from one hostname.
    front page of major mainstream news site (stopped after 30secs loading): 738 requests, 35 different hostnames for the top page plus dozens of iframes using other hostnames that I couldn't be bothered to expand to count

    The DNS request overhead alone must be a major part of the problem, especially the latency.

    • (Score: 2) by Unixnut on Tuesday November 13 2018, @02:12PM

      by Unixnut (5779) on Tuesday November 13 2018, @02:12PM (#761291)

      God that is awful, definitely would class that as a poorly designed web site (and insecure to boot, only one of those 35 different hostname needs to be compromised for your site to be compromised too).

      So the GPPs point is still valid, even if you remove the JS crap and images.

  • (Score: 3, Informative) by The Mighty Buzzard on Tuesday November 13 2018, @11:20AM (5 children)

    by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Tuesday November 13 2018, @11:20AM (#761230) Homepage Journal

    This is nonsense, up with which we ought not put ;)

    When you find yourself on the verge of ending a sentence with a preposition, simply add ", asshole" just before the terminal punctuation. Problem solved.

    --
    My rights don't end where your fear begins.
    • (Score: 1, Funny) by Anonymous Coward on Tuesday November 13 2018, @12:39PM (1 child)

      by Anonymous Coward on Tuesday November 13 2018, @12:39PM (#761251)

      When you find yourself on the verge of ending a sentence with a preposition, simply add ", asshole The Mighty Buzzard" just before the terminal punctuation. Problem solved.

      FTFY

    • (Score: 0) by Anonymous Coward on Tuesday November 13 2018, @04:51PM (2 children)

      by Anonymous Coward on Tuesday November 13 2018, @04:51PM (#761367)

      Sigh. There is nothing wrong with ending a sentence with a preposition. That nonsense rule was made up about 100 years ago by two idiots trying to make English more like Latin (where it isn't possible). It's same as the split infinitive rule. Before that, writers did it all the time.

      • (Score: 2) by Thexalon on Tuesday November 13 2018, @09:21PM (1 child)

        by Thexalon (636) on Tuesday November 13 2018, @09:21PM (#761456)

        We will now proceed to gleefully, playfully, nay even gloriously split infinitives with wild abandon!

        --
        The only thing that stops a bad guy with a compiler is a good guy with a compiler.
        • (Score: 2) by bob_super on Wednesday November 14 2018, @08:27PM

          by bob_super (1357) on Wednesday November 14 2018, @08:27PM (#761888)

          Is that what we're now going to enthusiastically be up to, asshole ?

  • (Score: 0) by Anonymous Coward on Wednesday November 14 2018, @02:54AM (1 child)

    by Anonymous Coward on Wednesday November 14 2018, @02:54AM (#761573)

    "This is the type of errant pedantry up with which I will not put." - Winston Churchill

    • (Score: 2) by jb on Thursday November 15 2018, @05:03AM

      by jb (338) on Thursday November 15 2018, @05:03AM (#762054)

      Glad to see at least someone knew the reference.

  • (Score: 0) by Anonymous Coward on Thursday November 15 2018, @07:33PM

    by Anonymous Coward on Thursday November 15 2018, @07:33PM (#762317)

    I'll just add that the next version of HTTP should be renamed to something that has nothing to to with hypertext transfer. Maybe JSTP or WebAppTP?