What is the current performance of 'HTTP / 3' aimed at speeding up websites?



The next-generation version of

HTTP , ' HTTP / 3, ' which is used for communication when browsing websites, aims to speed up communication using a protocol called QUIC . Cloudflare, which announced support for HTTP / 3 in 2018, compares the performance of HTTP / 3 with its predecessor, HTTP / 2.

Comparing HTTP / 3 vs. HTTP / 2 Performance
https://blog.cloudflare.com/http-3-vs-http-2/

At the time of writing the article, HTTP / 3 is a protocol under specification, and many browsers have only experimental support. You can understand the history of HTTP and HTTP / 3 by reading the following articles.

How HTTP communication that supports the web is evolving-GIGAZINE



Prior to HTTP / 2, when packet loss occurred at the

TCP level, HOL blocking, which stops all HTTP communication that passes through the same TCP connection, was regarded as a cause of communication delay. The GIF image shows that among the HTTP communication represented by green and yellow, if the yellow packet is lost, the subsequent green communication will also stop.



With HTTP / 3, this HOL blocking problem is solved, and packet loss will not affect other HTTP communication.



In addition,

TLS 1.3 used in HTTP / 3 has a function called ' 0-RTT ' that can send and receive application data between a client and a server during the procedure of establishing encrypted communication. 0-RTT will allow the connection between the server and the client to be established faster, allowing the browser to quickly display the data. When Cloudflare investigated the number of seconds it took for the client to receive data from the server, it took 201 ms on average with HTTP / 2, whereas on HTTP / 3 it averaged 176 ms, 12.4%. It seems that the improvement of was seen.



While HTTP / 2 uses conventional TCP for the transport layer, HTTP / 3 uses QUIC, which is a new protocol, so there is a difference in the progress of optimization due to congestion control etc. . When Cloudflare tested the time it took to display the page, on a page with a data capacity of 15KB, HTTP / 2 averages 458 milliseconds, whereas HTTP / 3 averages 443 milliseconds.



On a 1MB page, HTTP / 2 is 2.3 seconds on average, HTTP / 3 is 2.33 seconds on average, and HTTP / 2 is faster.



In order to test in a more realistic state than in a test environment, Cloudflare decided to measure the performance when displaying '

blog.cloudflare.com ' using WebPagetest and Cloudflare's own tool . HTTP / 2 took an average of 4.322 seconds to display a page, while HTTP / 3 took 4.434 seconds, resulting in HTTP / 2 being faster.



Cloudflare commented, 'We are pleased to help drive the new specification of HTTP / 3 and are looking for ways to leverage HTTP / 3 for better performance.'

in Software, Posted by darkhorse_log