HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 -> HTTP 3.0 (QUIC).
What problem does each generation of HTTP solve?
The diagram below illustrates the key features.
🔹HTTP 1.0 was finalized and fully documented in 1996. Every request to the same server requires a separate TCP connection.
🔹HTTP 1.1 was published in 1997. A TCP connection can be left open for reuse (persistent connection), but it doesn’t solve the HOL (head-of-line) blocking issue.
HOL blocking - when the number of allowed parallel requests in the browser is used up, subsequent requests need to wait for the former ones to complete.
🔹HTTP 2.0 was published in 2015. It addresses HOL issue through request multiplexing, which eliminates HOL blocking at the application layer, but HOL still exists at the transport (TCP) layer.
As you can see in the diagram, HTTP 2.0 introduced the concept of HTTP “streams”: an abstraction that allows multiplexing different HTTP exchanges onto the same TCP connection. Each stream doesn’t need to be sent in order.
🔹HTTP 3.0 first draft was published in 2020. It is the proposed successor to HTTP 2.0. It uses QUIC instead of TCP for the underlying transport protocol, thus removing HOL blocking in the transport layer.
QUIC is based on UDP. It introduces streams as first-class citizens at the transport layer. QUIC streams share the same QUIC connection, so no additional handshakes and slow starts are required to create new ones, but QUIC streams are delivered independently such that in most cases packet loss affecting one stream doesn't affect others.
Question: When shall we upgrade to HTTP 3.0? Any pros & cons you can think of?
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/uc5M7Cdq84
@JumboChile Hola, me gustaría saber los ingredientes del pan hot-dog granel https://t.co/ZJM3hTkoas "Es producido por los mejores panaderos y en base a selectos ingredientes." muchas gracias.
A cheat sheet of various databases in cloud services, along with their corresponding open-source/3rd-party options.
Choosing the right database for your project is a complex task. The multitude of database options, each suited to distinct use cases, can quickly lead to decision fatigue.
We hope this cheat sheet provides the high level direction to pinpoint the right service that aligns with your project's needs and avoid potential pitfalls.
Note: Google has limited documentation for their database use cases. Even though we did our best to look at what was available and arrived at the best option, some of the entries may be not accurate.
Over to you: Which database have you used in the past, and for what use cases?
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/uc5M7CdXXC
Top 6 most popular API architecture styles. In this video, we will talk about:
- SOAP
- RESTful
- GraphQL
- gRPC
- WebSocket
- Webhook
Watch & subscribe here: https://t.co/6HshiD9MDH
@nerdfromchile Creo que se negocia un aumento si las responsabilidades y condiciones del cargo cambian y eso significa firmar o actualizar un nuevo contrato. Si se desea generar más ingresos, la opción más rápida es cambiar de trabajo. Dudo que puedas negociar obtener el doble o más del sueldo.
Everyone loves burgers, whether it's a full stack burger, a frontend burger, or a backend burger.
While the origin of this innovative burger is unknown, we want to give a special shout-out to the original creators.
Watch & subscribe full video here: https://t.co/54Bfomfypu