diff --git a/src/posts/2024/03/http2-and-http3-explained.md b/src/posts/2024/03/http2-and-http3-explained.md index fd3fd23..b45d844 100644 --- a/src/posts/2024/03/http2-and-http3-explained.md +++ b/src/posts/2024/03/http2-and-http3-explained.md @@ -235,7 +235,7 @@ HTTP/3 was designed for unstable connections, such as cellphone and satellite ne On reliable and stable connections, HTTP/2 many times offers better performance than HTTP/3. -To avoid HOL blocking with HTTP/1.x, many web browsers and HTTP clients open multiple TCP connections, so the requests go in parallel. This technique *may* make HTTP/1.x offer a better throughput, however, it is a less efficient way to solve the problem. An alternative solution is having more than one HTTP/2-3 connection at the same time ([C# example](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.socketshttphandler.enablemultiplehttp2connections?view=net-8.0#system-net-http-socketshttphandler-enablemultiplehttp2connections)). +To avoid HOL blocking with HTTP/1.x, many web browsers and HTTP clients open multiple TCP connections, so the requests go in parallel. In scenarios with many heavy parallel requests and responses, this technique *may* make HTTP/1.x offer a better throughput than HTTP/2 or HTTP/3, however, it is a less efficient way to solve the problem. An alternative solution is having multiple HTTP/2-3 connections at the same time ([C# example](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.socketshttphandler.enablemultiplehttp2connections?view=net-8.0#system-net-http-socketshttphandler-enablemultiplehttp2connections)). Generally speaking, it's recommended to run compatibility and performance tests to determine which version is the most appropriate, and furthermore, a server can accept both HTTP/2 and HTTP/3 connections, leaving to the client the decision of which version to use. diff --git a/src/posts/2024/03/http2-e-http3-explicados.md b/src/posts/2024/03/http2-e-http3-explicados.md index 1adddc5..3cf4f30 100644 --- a/src/posts/2024/03/http2-e-http3-explicados.md +++ b/src/posts/2024/03/http2-e-http3-explicados.md @@ -235,7 +235,7 @@ O HTTP/3 foi desenhado para conexões instáveis, como redes de telefonia celula Em conexões confiáveis e plenas, o HTTP/2 muitas vezes oferece performance melhor do que o HTTP/3. -Para evitar o bloqueio de cabeça de fila no HTTP/1.x, muitos navegadores e HTTP clients abrem várias conexões TCP, para que as requisições corram em paralelo. Essa técnica *pode* fazer com que o HTTP/1.x ofereça maior taxa de transferência (*throughput*), porém, é uma forma menos eficiente de se resolver o problema. Uma solução alternativa é ter mais de uma conexão HTTP/2-3 ao mesmo tempo ([exemplo em C#](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.socketshttphandler.enablemultiplehttp2connections?view=net-8.0#system-net-http-socketshttphandler-enablemultiplehttp2connections)). +Para evitar o bloqueio de cabeça de fila no HTTP/1.x, muitos navegadores e HTTP clients abrem várias conexões TCP, para que as requisições corram em paralelo. Em cenários com muitas requisições e respostas pesadas em paralelo, essa técnica *pode* fazer com que o HTTP/1.x ofereça maior taxa de transferência (*throughput*) comparado ao HTTP/2 ou HTTP/3, porém, é uma forma menos eficiente de se resolver o problema. Uma solução alternativa é ter múltiplas conexões HTTP/2-3 ao mesmo tempo ([exemplo em C#](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.socketshttphandler.enablemultiplehttp2connections?view=net-8.0#system-net-http-socketshttphandler-enablemultiplehttp2connections)). De modo geral, recomenda-se realizar testes de compatibilidade e de performance para decidir qual é a versão mais indicada, além disso, um servidor pode aceitar conexões tanto de HTTP/2 como de HTTP/3, cabendo ao cliente decidir qual versão usar.