TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

HTTP/2 – How did we get here

215 pointsby kamranahmed_sealmost 9 years ago

7 comments

morecoffeealmost 9 years ago
How we get here? By pushing the previous protocol to the limit, observing where it breaks down, and fixing those things. We could even predict what will replace HTTP&#x2F;2 by looking at where it starts to break down.<p>I work with HTTP&#x2F;2 daily, and there are some pain points when running at high speeds:<p>- Headers are still head of line blocking. You must synchronize sending them to maintain the HPACK table state. At a high number of requests per second, this is a bottle neck<p>- Running over TLS is CPU bottleneck since encrypted messages are sequential. We get around this by making multiple TCP connections.<p>- Long lived HTTP&#x2F;2 connections will often break because of NAT&#x27;s (home internet), or changing IP address (mobile). A single dropped packet kills throughput for highspeed links too.<p>All of these are addressed by the QUIC protocol. I suspect that eventually HTTP&#x2F;2 will be last major protocol over TCP because of most of the aforementioned problems come from running over it.
评论 #12283239 未加载
评论 #12283237 未加载
评论 #12284822 未加载
评论 #12284680 未加载
评论 #12284365 未加载
formula1almost 9 years ago
Really great article. Outlines history, evolution and problems solved by each iteration. One thing they didnt get into was the methods (options, patch, put, delete, etc) i always found that one to be weird as it seemed proprietary. After a bit of research [0], i found that it was to because the creator had identified multiple ways they wanted to modify a document. I find that facinating because there is no &quot;pay&quot; method or &quot;mutate 5 objects in a database and send 2 emails but make sure that the post data is encrypted&quot; method. Perhaps the creator didnt have the forsight in simply specifying whether data should be parsed from the url or from a body. Perhaps the http method still has more room to grow<p>[0] <a href="https:&#x2F;&#x2F;www.quora.com&#x2F;What-is-the-history-of-HTTP-verbs-PUT-GET-POST-and-DELETE" rel="nofollow">https:&#x2F;&#x2F;www.quora.com&#x2F;What-is-the-history-of-HTTP-verbs-PUT-...</a>
marvyalmost 9 years ago
One thing that is slightly misleading about the article is that it talks as if HTTP&#x2F;1.0 first came into being in 1996, and everyone was using version 0.9 before then. In fact, one need only observe that the original spec for adding cookies to HTTP came out in 1994 to realize that HTTP&#x2F;1.0 must have been widely deployed by then. In fact, it is only the standard that took until 1996 to write up.
评论 #12283378 未加载
Scaevolusalmost 9 years ago
Correction: HTTP&#x2F;1.0 doesn&#x27;t have Host headers <i>at all</i>, while HTTP&#x2F;1.1 requires them.<p>It&#x27;s one of the easiest ways to distinguish the two versions. Host headers enable virtual hosts (multiple domains on one IP), letting the Internet grow to billions of domains without requiring an IP for each of them.
评论 #12289527 未加载
评论 #12283802 未加载
131hnalmost 9 years ago
Iv been upset with HTTP&#x2F;2 &#x2F; SPDY since the very first beginning (yet i never used it, nor try). Now, thanks to you, i understand why.<p>It&#x27;s not a replacement&#x2F; enhancement of HTTP, it&#x27;s definitively not a Transport layer. It has no use&#x2F;gain for webservices, and as single page apps tends to optimise resources delivery (webpack, browserify, scss, stylus &amp; co, very few resources are left to deliver) so no urgent &quot;need&quot; for it here.<p>So, for an _application layer_ it&#x27;s comming a little late, i guess &quot;block SPA&quot; with intrisected client side &amp; server side (nodejs&#x2F; express &amp; spa) apps might gain of it, but it have to be considered as the very first line of the app developpement , the transition&#x2F; enhancement cost &#x2F; gain ratio for existing apps is too hard to plan.<p>Great writing !
评论 #12303913 未加载
Sami_Lehtinenalmost 9 years ago
Many people think that the HTTP was the ultimate invention, often doesn&#x27;t seem to know that it&#x27;s clearly evolution of Gopher. <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Gopher_(protocol)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Gopher_(protocol)</a>
iamspoiltalmost 9 years ago
Nice post!