TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

HTTP/3 Is Fast

445 点作者 SerCe超过 3 年前

48 条评论

eric_trackjs超过 3 年前
Author here. I am seeing a lot of comments about how the graphs are not anchored at 0. The intent with the graphs was not to &quot;lie&quot; or &quot;mislead&quot; but to fit the data in a way that was mostly readable side by side.<p>The goal was to show the high level change, in a glanceable way, not to get in to individual millisecond comparisons. However, in the future I would pick a different visualization I think :)<p>The benchmarking has also come under fire. My goal was to just to put the same site&#x2F;assets on three different continents and retrieve them a bunch of times. No more, no less. I think the results are still interesting, personally. Clean room benchmarks are cool, but so are real world tests, imo.<p>Finally, there was no agenda with this post to push HTTP&#x2F;3 over HTTP&#x2F;2. I was actually skeptical that HTTP&#x2F;3 made any kind of difference based on my experience with 1.1 to 2. I expected to write a post about &quot;HTTP&#x2F;3 is not any better than HTTP&#x2F;2&quot; and was frankly surprised that it was so much faster in my tests.
评论 #29567067 未加载
评论 #29568325 未加载
评论 #29566356 未加载
评论 #29565864 未加载
评论 #29568299 未加载
评论 #29569815 未加载
评论 #29567547 未加载
评论 #29572465 未加载
评论 #29567043 未加载
评论 #29568151 未加载
评论 #29571931 未加载
tambourine_man超过 3 年前
What’s great about HTTP 1.1 is it’s simplicity. I mean, you can explain it to a complete newby and have that person write a functioning implementation in a few lines of shell script, all in one afternoon.<p>In fact, you can probably figure it out by yourself just by looking at what goes across the wire.<p>And yet, it runs the whole modern world. That’s beautiful. I think simplicity is underrated and it’s something I really value when choosing the tools I use.
评论 #29565883 未加载
评论 #29567194 未加载
评论 #29565211 未加载
评论 #29565329 未加载
评论 #29566709 未加载
评论 #29566128 未加载
评论 #29566764 未加载
评论 #29581014 未加载
wcoenen超过 3 年前
I am a little confused about the test methodology.<p>The post clearly explains that the big advantage of HTTP&#x2F;3 is that it deals much better with IP packet loss. But then the tests are done without inducing (or at least measuring) packet loss?<p>I guess the measured performance improvements here are mostly for the zero round-trip stuff then. But unless you understand how to analyze the security vs performance trade-off (I for one don&#x27;t), that probably shouldn&#x27;t be enabled.
评论 #29564364 未加载
评论 #29564122 未加载
评论 #29564202 未加载
评论 #29564223 未加载
cakoose超过 3 年前
These charts should have the y-axis start at zero. As they are now, I have to convert the bars into numbers, then mentally compare the numbers, which defeats the point of charting them graphically.<p>Though I guess I can compare the confidence intervals visually :-P
评论 #29563927 未加载
评论 #29565671 未加载
usrbinbash超过 3 年前
This comment is not specifically about quic, which I believe is a solid idea and would love to see used and supported more, but about the topic of requiring super fast connections to do things that really shouldn&#x27;t need them.<p>Accessing a page where all useful information I am interested in is text, should not require a new protocol developed by genius engineers to work without delay. If I want to read an article that is 50kB of text, it&#x27;s not unreasonable to expect that information to be here before my finger leaves the ENTER key, regardless of how its transmitted.<p>Why isn&#x27;t that the case?<p>Because said article is not transmitted with a dollop of html to structure it, and a sprinkle of CSS and JS to make it look nice. It&#x27;s delivered to me buried in a mountain of extraneous garbage, pulled in from god-knows-where, mostly to spy on me or trying to sell me crap I don&#x27;t need.<p>I am not saying &quot;don&#x27;t invent new protocols&quot;. But maybe think about why it was perfectly possible to have functional, fast, and reliable webpages and applications in the 90s and early 00s, despite the fact that our networks and computers were little more than painted bricks and paper-mache by todays standards.<p><a href="https:&#x2F;&#x2F;idlewords.com&#x2F;talks&#x2F;website_obesity.htm" rel="nofollow">https:&#x2F;&#x2F;idlewords.com&#x2F;talks&#x2F;website_obesity.htm</a><p>If we don&#x27;t think about this, then neither QUIC, nor QUIC2 or REALLY_QUIC will save us from being wading through a pool of molasses slow crap. Because inevitably, following each techical improvement that could makes our stack faster, is an even bigger pile of bloat that drags it down again.
评论 #29565558 未加载
评论 #29566580 未加载
评论 #29565116 未加载
评论 #29564945 未加载
评论 #29564805 未加载
评论 #29565948 未加载
评论 #29566148 未加载
评论 #29564874 未加载
评论 #29565226 未加载
评论 #29565880 未加载
评论 #29566044 未加载
评论 #29565358 未加载
评论 #29565582 未加载
评论 #29566072 未加载
评论 #29566094 未加载
评论 #29564625 未加载
评论 #29564557 未加载
评论 #29567871 未加载
评论 #29564675 未加载
评论 #29566236 未加载
评论 #29565004 未加载
评论 #29564995 未加载
bawolff超过 3 年前
&gt; TLS 1.2 was used for HTTP&#x2F;1.1 and HTTP&#x2F;2<p>&gt; TLS 1.3 was used for HTTP&#x2F;3.<p>&gt; 0-RTT was enabled for all HTTP&#x2F;3 connections<p>Ok then. No potential confounding variables there... none at all.<p>[For reference its expected that tls1.3 with 0-rtt is going to be much faster than tls1.2 especially when fetching small documents from geographically far away places. To be clear, not doubting that http&#x2F;3 gives performance improvements in some network conditions, this is just a really bad test and tls version is probably a good portion of the difference here]
jeroenhd超过 3 年前
The comparison isn&#x27;t entirely fair because there&#x27;s no reason not to use TLS 1.3 on HTTP 1 or HTTP&#x2F;2 connections. The 0-RTT advantage of QUIC is also available to those protocols, which is one of the things the article claims make HTTP&#x2F;3 faster.<p>The methodology section also doesn&#x27;t say if 0-RTT was actually enabled during testing. I&#x27;d argue that any system or website with an admin interface or user account system should not enable 0-RTT without very strict evaluation of their application protection mechanisms, making it useless for many API servers and data sources. It&#x27;s fine for static content and that can help a lot, but with the benefit of multiplexing I&#x27;m not sure how useful it really is.
评论 #29564647 未加载
评论 #29564649 未加载
illys超过 3 年前
I am always amazed by new stuff claiming to be faster when the old stuff has worked perfectly since computers and networks were hundreds of times less performant.<p>It seems to me just like another excuse to add complexity and to create more bloated websites.<p>The Google homepage is 1.8 MB at initial load for an image, a field and 3 links, all the other major web operators are not better. Seriously, would they do such pages if they cared for being fast?<p>[EDIT] For those not liking my comment, I should have said that it is in line with the conclusion of the article: &quot;In general, the more resources your site requires, the bigger the performance improvement you’ll see&quot;. I am just questioning the benefit to help the inflation of website traffic, in the end the service is not better, just always heavier (the Google example above is just an illustration).
评论 #29566602 未加载
littlecranky67超过 3 年前
The benchmarks are not suitable to reach the conclusion that HTTP&#x2F;3 is fast (or faster than HTTP&#x2F;2). When you run such benchmarks, you choose a very fixed parameter vector (bandwidth, latency, link conditions that impact packet loss, payload shapes etc.). Running the same benchmark against a differently chosen parameter vector may result in the complete opposite conclusion.<p>Additionally, the Internet is not a static system but a dynamic one. To say something is &quot;fast&quot;, means that it should be fast for most people in most conditions. Sinle-link benchmarks are not feasible.<p>I.e. in a traffic jam I will be very fast when I use the turn-out&#x2F;emergency lane. But only as long as I am the only one doing it.
aquadrop超过 3 年前
Regardless of the results, that is very disingenuous way of showing up charts, like floor being ~1000 and first result having 2500 score and second 1000, basically being on the floor, even though real difference is 2.5 times.
评论 #29567431 未加载
amenod超过 3 年前
&gt; The 0-RTT feature in QUIC allows a client to send application data before the handshake is complete. This is made possible by reusing negotiated parameters from a previous connection. To enable this, 0-RTT depends on the client remembering critical parameters and providing the server with a TLS session ticket that allows the server to recover the same information.<p>Am I missing something, or is this yet another way to track clients across visits? If so, I&#x27;m sure Chrome will be faster than Firefox (because it will keep the sessions IDs live forever). Well played, Google.
评论 #29568292 未加载
ppg677超过 3 年前
QUIC needs a kernel implementation. At least in Linux, TCP&#x2F;IP does a lot of its processing in soft interrupt handlers which is far cheaper and more responsive to pre-empt compared to UDP packet delivery and wakeup to an application thread.<p>You don&#x27;t want your transport acknowledgement packets to get delayed&#x2F;lost because of app thread scheduling.
评论 #29566066 未加载
评论 #29565198 未加载
评论 #29564174 未加载
评论 #29564200 未加载
评论 #29567317 未加载
ArchOversight超过 3 年前
Just as a heads up, if you are viewing the site in Safari, you will not see the graphs and images as lazy loading is not yet supported.<p><a href="https:&#x2F;&#x2F;caniuse.com&#x2F;loading-lazy-attr" rel="nofollow">https:&#x2F;&#x2F;caniuse.com&#x2F;loading-lazy-attr</a><p>You can manually enable it if you have Developer mode enabled with:<p>Develop -&gt; Experimental Features -&gt; Lazy Image Loading
评论 #29571435 未加载
评论 #29576176 未加载
sam_goody超过 3 年前
Full kudos to Caddy for being the first out the door with working HTTP&#x2F;3 support.<p>Are there downsides to HTTP&#x2F;3? When HTTP&#x2F;2 came out there was discussions about why not to enable.
评论 #29567524 未加载
评论 #29564556 未加载
评论 #29567207 未加载
评论 #29563885 未加载
评论 #29563926 未加载
thenoblesunfish超过 3 年前
Obviously the sample sizes are too small to be concluding much in this direction but for fun, it looks like the HTTP&#x2F;3 numbers have more outliers than the HTTP&#x2F;2 numbers. Is that to be expected due to the nature of the new protocol or the experiment?
评论 #29564534 未加载
knorker超过 3 年前
Grrr, graphs that are not anchored at y=0.<p>Beware reading these graphs.
bsjks超过 3 年前
It&#x27;s 2021 and 80% of the load time is spent generating the page because of slow backend languages such as Python and then 20% of the load time is spent compiling and executing the frontend Javascript. I am sceptical that these improvements will even move the needle.
评论 #29564594 未加载
评论 #29565247 未加载
评论 #29564417 未加载
bestest超过 3 年前
200ms faster than WHAT?<p>Edit: Ok, apparently there are charts that are not being loaded due to the HN Effect. A clear example of how a blind reader would miss quite a bit of information when the data is only shown in images &#x2F; other non A11Y compliant resources.
评论 #29571414 未加载
评论 #29564077 未加载
mgaunard超过 3 年前
So I understand how multiplexing everything through a single TCP session is a bad idea. But what was the problem with using multiple TCP sessions like HTTP 1.1 does? Is it just the problem that there is a latency cost to establishing the connection (even though those sessions are reused later on)?<p>How about extending TCP to establish multiple sessions at once instead?
评论 #29568808 未加载
评论 #29566928 未加载
kaetemi超过 3 年前
Parallel requests are nice, but is there a standard way to request larger files sequentially (explicitly wanting nicely pipelined head-of-line-blocking delivery)? Think streaming media, where you want chunks to arrive one after the other, without the second chunk hogging bandwidth while the first one is still downloading too.
评论 #29564333 未加载
AtlasBarfed超过 3 年前
I have seen SO MANY &quot;reliable UDP&quot; transports written instead of TCP over the decades. Off the top of my head: TIBCO, SaltStack, various games have bespoke UDP &#x2F; TCP hybrids IIRC.<p>Is TCP really that fundamentally slow? How could high-level repurposes of UDP be faster than presumably hardware optimized and heavily analyzed TCP stacks?<p>The lies, damn lies, benchmarks seems a bit applicable too here. He&#x27;s disabling caching? Really it is testing a specific transport situation, but caching IMO would mitigate a lot of the dramatic advantages? And what about cloudflare edge caching outside the browser? I think he was routing all resource requests through his single server that probably isn&#x27;t cached properly.<p>So with good caching will HTTP&#x2F;3 produce the advantage for the everyman over HTTP&#x2F;1.1 to justify the attention?
评论 #29571492 未加载
heftig超过 3 年前
I&#x27;ve deactivated HTTP&#x2F;3 in Firefox as the bandwidth from CloudFlare to my provider (German Telecom) gets ridiculously bad (downloading a 6 MB file takes 25 s instead of 0.6 s) during peak times, and I only see this when using HTTP&#x2F;3 over IPv4, all other combinations stay fast.
favourable超过 3 年前
Anyone know if this breaks on legacy hardware running legacy browsers? Yes people largely use modern hardware, but there&#x27;s always eccentric folk with old hardware who like to browse the web on old browsers (for whatever reason).
评论 #29564674 未加载
KronisLV超过 3 年前
&gt; It would be 18 more years before a new version of HTTP was released. In 2015, and with much fanfare, RFC 7540 would standardize HTTP&#x2F;2 as the next major version of the protocol.<p>Huh, this is interesting.<p>So the current timescale is like:<p><pre><code> HTTP&#x2F;1: 1996 (though HTTP&#x2F;1.1 came out in 1997) HTTP&#x2F;2: 2015 HTTP&#x2F;3: 2021 (current draft) </code></pre> Should we expect HTTP&#x2F;4 around 2022 or 2023, at this increasing rate of progress, then? Just a bit of extrapolation, since it seems like the rate of progress and new versions to deal with is increasing. Promising, but possibly worrying.
评论 #29571049 未加载
zigzag312超过 3 年前
Heads-up: graphs have non-zero baselines. Still, gains are quite impressive.
bestinterest超过 3 年前
Quick question, if I have a VPS with cloudflare in front of it where the VPS runs a HTTP1.1 server is cloudflare limited to 6 http connections&#x2F;resources to my server at a time?
评论 #29564095 未加载
评论 #29564246 未加载
Animats超过 3 年前
This is a bigger performance difference that Google reported.<p>Is the packet loss rate being measured? That&#x27;s the main cause of head-of-line blocking delays.<p>Are both ends using persistent TCP connections? If you have to re-open and redo the TLS crypto handshake each time, that&#x27;s a huge overhead. Does Caddy implement that? Is the CONTENT-LENGTH header set? If not, each asset is a fresh TCP connection.
tiffanyh超过 3 年前
Cloudflare has interesting results as well. Though not as dramatic as this blog.<p>&gt; “ On average, with HTTP&#x2F;3 we see the first byte appearing after 176ms. With HTTP&#x2F;2 we see 201ms, meaning HTTP&#x2F;3 is already performing <i>12.4%</i> better!”<p><a href="https:&#x2F;&#x2F;blog.cloudflare.com&#x2F;http-3-vs-http-2&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.cloudflare.com&#x2F;http-3-vs-http-2&#x2F;</a>
mojuba超过 3 年前
So servers will now have to support HTTP&#x2F;3, HTTP&#x2F;2, HTTP&#x2F;1.1, HTTP&#x2F;1.0 and HTTP&#x2F;0.9. Is added complexity worth it though?
评论 #29564322 未加载
评论 #29564390 未加载
评论 #29566729 未加载
评论 #29567229 未加载
beebeepka超过 3 年前
Is it fast enough for first person shooters in the browser? That would be both awesome. hosting dedicated servers in a browser hehe
评论 #29564227 未加载
sidcool超过 3 年前
This is impressive. The only issue I have faced in the past with HTTP&#x2F;2 is the supported servers and browsers. It&#x27;s not very reliable, and migrations are painful. Hopefully HTTP&#x2F;3 will be seamless.
phicoh超过 3 年前
It is nice to see the effect of 0-RTT in QUIC. In quite a few graphs the HTTP3 times for the small Site has one dot roughly at the same level as HTTP2. This probably the first connection. The rest gets 0-RTT.
baybal2超过 3 年前
HTTP&#x2F;3 IS NOT FAST. Very likely, smartphones, or wimpier laptops will not be able to benefit from the speed because of lack of anything like hardware TCP offloading which benefits HTTP 1.1.
评论 #29566183 未加载
评论 #29565173 未加载
ericls超过 3 年前
In practice, you&#x27;ll have load balancers and reverse proxies some where in between your server and your client. Does HTTP&#x2F;3 still make a difference in these cases?
beckerdo超过 3 年前
There are a few outliers in the HTTP&#x2F;3 graphs that are slower than the HTTP&#x2F;2 graphs. I might have missed it, but I don&#x27;t think the outliers were explained.
est超过 3 年前
Is it possible to host a UDP only h3 site without the 443 tcp?
评论 #29570590 未加载
lil_dispaches超过 3 年前
Wait, it&#x27;s not about a new HTTP, but about replacing TCP? Isn&#x27;t that a big deal? When did OP&#x27;s browser start supporting QUIC?
ohgodplsno超过 3 年前
&gt;If a web page requires 10 javascript files, the web browser needs to retrieve those 10 files before the page can finish loading.<p>The author is _this close_ to realizing the problem. But no, we need Google to save us and release HTTP versions at the same rythm as their chrome releases so they can keep pushing 4MB of Javascript to serve ads on a shitty full-js website that could have been static.
评论 #29564184 未加载
ainar-g超过 3 年前
Quite ironically, the link doesn&#x27;t work for me.<p>Archive link: <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20211201172207&#x2F;https:&#x2F;&#x2F;requestmetrics.com&#x2F;web-performance&#x2F;http3-is-fast" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20211201172207&#x2F;https:&#x2F;&#x2F;requestme...</a>.
hutrdvnj超过 3 年前
How much packet loss does average internet traffic has on average?
Mizza超过 3 年前
Has anybody done a comparison with Aspera yet?
评论 #29571106 未加载
twsted超过 3 年前
I don’t see any graph in Safari
markdog12超过 3 年前
Anyone interested in HTTP 3 that likes even-handed articles, Robin Marx has an excellent series on Smashing Magazine: <a href="https:&#x2F;&#x2F;www.smashingmagazine.com&#x2F;author&#x2F;robin-marx&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.smashingmagazine.com&#x2F;author&#x2F;robin-marx&#x2F;</a><p>The second article is about its performance.
anotherhue超过 3 年前
Just in time for Web3!
fmiras超过 3 年前
Awesome post!
ch17z超过 3 年前
requestmetrics.com: Blocked by 1Hosts (Lite), AdGuard DNS filter, AdGuard Tracking Protection filter, EasyPrivacy and oisd.
评论 #29566014 未加载
JackFr超过 3 年前
That improvements are given in milliseconds rather than percent and charts aren’t anchored at zero tells me all I need to know.
评论 #29566012 未加载
评论 #29564756 未加载
评论 #29566253 未加载
bullen超过 3 年前
3x is nothing, 10x or 100x and we&#x27;re talking.<p>The only real bottleneck we&#x27;re going to have is CPU, so they should compare that.<p>Everytime humans make an improvement we scale up to fill that benefit: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Jevons_paradox" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Jevons_paradox</a>