{"id":13539,"date":"2022-09-20T14:21:58","date_gmt":"2022-09-20T14:21:58","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=13539"},"modified":"2022-09-20T14:25:27","modified_gmt":"2022-09-20T14:25:27","slug":"http-3","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=13539","title":{"rendered":"HTTP\/3"},"content":{"rendered":"<h1>YouTube<\/h1>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=cdb7M37o9sU\">The Internet just changed.<\/a>, 24.07.2022<br \/>\n<a href=\"https:\/\/www.youtube.com\/watch?v=VONSx_ftkz8\">The QUIC Protocol, HTTP3, and How HTTP Has Evolved<\/a>, 28.02.2022<br \/>\n<a href=\"https:\/\/www.youtube.com\/watch?v=GriONb4EfPY\">HTTP\/2 Critical Limitation that led to HTTP\/3 &#038; QUIC (Explained by Example)<\/a>, 04.05.2020<br \/>\n<a href=\"https:\/\/www.youtube.com\/watch?v=ejcESQOUQV8\">What are some problems with TCP?<\/a>, 21.09.2016<\/p>\n<h1>Wikipedia<\/h1>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/HTTP\/3\">HTTP\/3<\/a><br \/>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Resource_contention\">Resource contention<\/a><br \/>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Head-of-line_blocking\">Head-of-line blocking<\/a><\/p>\n<h1>Tutorials<\/h1>\n<p><a href=\"https:\/\/netzikon.net\/lexikon\/h\/hol.html\">Head-of-Line-Blocking<\/a><br \/>\n<a href=\"https:\/\/engineering.cred.club\/head-of-line-hol-blocking-in-http-1-and-http-2-50b24e9e3372\">Head-of-line (HOL) blocking in HTTP\/1 and HTTP\/2<\/a><br \/>\n<a href=\"https:\/\/http3-explained.haxx.se\/de\/why-quic\/why-tcphol\">HTTP\/3 explained &#8211; TCP Head-of-line blocking<\/a><br \/>\n<a href=\"https:\/\/www.quora.com\/What-is-the-head-of-line-blocking-that-occurs-in-TCP\">What is the head-of-line blocking that occurs in TCP?<\/a><br \/>\n<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/uploads\/prod\/2020\/02\/paper.pdf\">Microsoft &#8211; An Optimal Solution to Head-of-Line Blocking<\/a> (PDF)<br \/>\n<a href=\"https:\/\/hpbn.co\/building-blocks-of-tcp\/\">NETWORKING 101, CHAPTER 2 &#8211; Building Blocks of TCP<\/a><br \/>\n<a href=\"https:\/\/calendar.perfplanet.com\/2020\/head-of-line-blocking-in-quic-and-http-3-the-details\/\">Head-of-Line Blocking in QUIC and HTTP\/3: The Details<\/a><\/p>\n<blockquote><p>What should happen if TCP packet 2 is lost in the network, but somehow packet 1 and packet 3 do arrive? Remember that TCP doesn\u2019t know it\u2019s carrying HTTP\/2, just that it needs to deliver data in-order. As such, it knows the contents of packet 1 are safe to use and passes those to the browser. However, it sees that there is a gap between the bytes in packet 1 and those in packet 3 (where packet 2 fits), and thus cannot yet pass packet 3 to the browser. TCP keeps packet 3 in its receive buffer until it receives the retransmitted copy of packet 2 (which takes at least 1 round-trip to the server), after which it can pass both to the browser in the correct order. Put differently: the lost packet 2 is HOL blocking packet 3!<\/p><\/blockquote>\n<p>TCP usually isn\u2019t thought of to suffer from head-of-line blocking, however if you consider what head-of-line blocking is, then the following are likely to result in it occurring, or at least appearing to occur.<\/p>\n<ol>\n<li>Sliding windows and missing packets. Sliding windows are probably technically a tail-of-line problem, but if you lose a packet, the sliding windows issue will suddenly flip around and become a head-of-line problem as the receiver refuses to receive packets past the current window size until the missing packet is retransmitted.<\/li>\n<li>Sliding windows and latency. If the network endpoints are too far apart, the acknowledgements for the head packet must be received before the window can slide to allow for more packets. In fast networks across endpoints separated by a long distance, this will reduce bandwidth due to the maximum number of bytes in a window exceeding what can be held in transit on the network between the two endpoints.<\/li>\n<li>SYN-ACK at the start of the transmission. Although this is only 6 bytes, or 3 if you do it quickly, the transmission&#8230;<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>YouTube The Internet just changed., 24.07.2022 The QUIC Protocol, HTTP3, and How HTTP Has Evolved, 28.02.2022 HTTP\/2 Critical Limitation that led to HTTP\/3 &#038; QUIC (Explained by Example), 04.05.2020 What are some problems with TCP?, 21.09.2016 Wikipedia HTTP\/3 Resource contention Head-of-line blocking Tutorials Head-of-Line-Blocking Head-of-line (HOL) blocking in HTTP\/1 and HTTP\/2 HTTP\/3 explained &#8211; TCP [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-13539","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/13539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13539"}],"version-history":[{"count":4,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/13539\/revisions"}],"predecessor-version":[{"id":13543,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/13539\/revisions\/13543"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}