Je souhaiterais comprendre pourquoi HTTP/1.1 a introduit la réutilisation des connexions TCP par rapport à HTTP/1.0.
Technical overview

HTTP functions as a request–response protocol in the client–server model. A web browser, for example, may be the client whereas a process, named web server, running on a computer hosting one or more websites may be the server. The client submits an HTTP request message to the server. The server, which provides resources such as HTML files and other content or performs other functions on behalf of the client, returns a response message to the client. The response contains completion status information about the request and may also contain requested content in its message body.

A web browser is an example of a user agent (UA). Other types of user agent include the indexing software used by search providers (web crawlers), voice browsers, mobile apps, and other software that accesses, consumes, or displays web content.

HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. High-traffic websites often benefit from web cache servers that deliver content on behalf of upstream servers to improve response time. Web browsers cache previously accessed web resources and reuse them, whenever possible, to reduce network traffic. HTTP proxy servers at private network boundaries can facilitate communication for clients without a globally routable address, by relaying messages with external servers.

To allow intermediate HTTP nodes (proxy servers, web caches, etc.) to accomplish their functions, some of the HTTP headers (found in HTTP requests/responses) are managed hop-by-hop whereas other HTTP headers are managed end-to-end (managed only by the source client and by the target web server).

HTTP is an application layer protocol designed within the framework of the Internet protocol suite. Its definition presumes an underlying and reliable transport layer protocol. In the latest version HTTP/3, the Transmission Control Protocol (TCP) is no longer used, but the older versions are still more used and they most commonly use TCP. They have also been adapted to use unreliable protocols such as the User Datagram Protocol (UDP), which HTTP/3 also (indirectly) always builds on, for example in HTTPU and Simple Service Discovery Protocol (SSDP).

HTTP resources are identified and located on the network by Uniform Resource Locators (URLs), using the Uniform Resource Identifiers (URI's) schemes http and https. As defined in RFC 3986, URIs are encoded as hyperlinks in HTML documents, so as to form interlinked hypertext documents.

In HTTP/1.0 a separate TCP connection to the same server is made for every resource request.

In HTTP/1.1 instead a TCP connection can be reused to make multiple resource requests (i.e. of HTML pages, frames, images, scripts, stylesheets, etc.).

HTTP/1.1 communications therefore experience less latency as the establishment of TCP connections presents considerable overhead, especially under high traffic conditions.

HTTP/2 is a revision of previous HTTP/1.1 in order to maintain the same client–server model and the same protocol methods but with these differences in order:

HTTP/2 communications therefore experience much less latency and, in most cases, even higher speeds than HTTP/1.1 communications.

HTTP/3 is a revision of previous HTTP/2 in order to use QUIC + UDP transport protocols instead of TCP. Before that version, TCP/IP connections were used; but now, only the IP layer is used (which UDP, like TCP, builds on). This slightly improves the average speed of communications and to avoid the occasional (very rare) problem of TCP connection congestion that can temporarily block or slow down the data flow of all its streams (another form of " head of line blocking ").
Croissance explosive et concurrence (1996–2014)

La publication des RFC concernant les versions de protocole HTTP/1.0 (1996) et HTTP/1.1 (1997, 1999) a contraint la plupart des serveurs web à se conformer (pas toujours complètement) à ces normes. L'utilisation de connexions persistantes TCP/IP (HTTP/1.1) a nécessité que les serveurs web augmentent le nombre maximal de connexions simultanées autorisées et améliorent leur niveau de scalabilité.
### Query ###
Je souhaiterais comprendre pourquoi HTTP/1.1 a introduit la réutilisation des connexions TCP par rapport à HTTP/1.0.

### Main Text ###
Technical overview

HTTP functions as a request–response protocol in the client–server model. A web browser, for example, may be the client whereas a process, named web server, running on a computer hosting one or more websites may be the server. The client submits an HTTP request message to the server. The server, which provides resources such as HTML files and other content or performs other functions on behalf of the client, returns a response message to the client. The response contains completion status information about the request and may also contain requested content in its message body.

A web browser is an example of a user agent (UA). Other types of user agent include the indexing software used by search providers (web crawlers), voice browsers, mobile apps, and other software that accesses, consumes, or displays web content.

HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. High-traffic websites often benefit from web cache servers that deliver content on behalf of upstream servers to improve response time. Web browsers cache previously accessed web resources and reuse them, whenever possible, to reduce network traffic. HTTP proxy servers at private network boundaries can facilitate communication for clients without a globally routable address, by relaying messages with external servers.

To allow intermediate HTTP nodes (proxy servers, web caches, etc.) to accomplish their functions, some of the HTTP headers (found in HTTP requests/responses) are managed hop-by-hop whereas other HTTP headers are managed end-to-end (managed only by the source client and by the target web server).

HTTP is an application layer protocol designed within the framework of the Internet protocol suite. Its definition presumes an underlying and reliable transport layer protocol. In the latest version HTTP/3, the Transmission Control Protocol (TCP) is no longer used, but the older versions are still more used and they most commonly use TCP. They have also been adapted to use unreliable protocols such as the User Datagram Protocol (UDP), which HTTP/3 also (indirectly) always builds on, for example in HTTPU and Simple Service Discovery Protocol (SSDP).

HTTP resources are identified and located on the network by Uniform Resource Locators (URLs), using the Uniform Resource Identifiers (URI's) schemes http and https. As defined in RFC 3986, URIs are encoded as hyperlinks in HTML documents, so as to form interlinked hypertext documents.

In HTTP/1.0 a separate TCP connection to the same server is made for every resource request.

In HTTP/1.1 instead a TCP connection can be reused to make multiple resource requests (i.e. of HTML pages, frames, images, scripts, stylesheets, etc.).

HTTP/1.1 communications therefore experience less latency as the establishment of TCP connections presents considerable overhead, especially under high traffic conditions.

HTTP/2 is a revision of previous HTTP/1.1 in order to maintain the same client–server model and the same protocol methods but with these differences in order:

HTTP/2 communications therefore experience much less latency and, in most cases, even higher speeds than HTTP/1.1 communications.

HTTP/3 is a revision of previous HTTP/2 in order to use QUIC + UDP transport protocols instead of TCP. Before that version, TCP/IP connections were used; but now, only the IP layer is used (which UDP, like TCP, builds on). This slightly improves the average speed of communications and to avoid the occasional (very rare) problem of TCP connection congestion that can temporarily block or slow down the data flow of all its streams (another form of " head of line blocking ").

### Supplementary Text ###
Croissance explosive et concurrence (1996–2014)

La publication des RFC concernant les versions de protocole HTTP/1.0 (1996) et HTTP/1.1 (1997, 1999) a contraint la plupart des serveurs web à se conformer (pas toujours complètement) à ces normes. L'utilisation de connexions persistantes TCP/IP (HTTP/1.1) a nécessité que les serveurs web augmentent le nombre maximal de connexions simultanées autorisées et améliorent leur niveau de scalabilité.

### Draft ###

Query: "Je souhaiterais comprendre pourquoi HTTP/1.1 a introduit la réutilisation des connexions TCP par rapport à HTTP/1.0."

Translation check: "Why did HTTP/1.1 introduce TCP connection reuse vs HTTP/1.0?" ● Core technical question, straightforward.

Context retrieval needed: HTTP protocol evolution timeline, performance characteristics, network latency factors.

### Historical Context

HTTP/1.0 released 1996 (RFC 1945). Key limitation: each request = new TCP connection.
→ "Connection: close" default behavior
→ Exponential connection setup overhead for page loading

HTTP/1.1 released 1997 (RFC 2616). Major revision addressing scalability issues.
→ "Connection: keep-alive" default
→ Persistent TCP connections encouraged

### Technical Motivation

Core problem: TCP connection establishment latency.

Connection setup involves:
- Three-way handshake (SYN, SYN-ACK, ACK)
- Network round-trip time (RTT) 
- Server resource allocation
- Client buffer initialization

Typical RTT ≈ 100-200ms for modern networks.
For 5-10 concurrent requests → significant cumulative delay.

HTTP/1.1 solution: multiplexing on single TCP connection.
Multiple requests/responses flow through same persistent socket.
Initial handshake cost amortized across many transactions.

### Performance Mathematics

With HTTP/1.0:
- Request 1: 1 RTT + processing time
- Request 2: 1 RTT + processing time  
- Request 3: 1 RTT + processing time

Total: 3 RTT + N processing times

With HTTP/1.1:
- Initial connection: 1 RTT
- Subsequent requests: negligible additional latency
- All processing shares same connection

Net effect: RTT reduction from ~100ms per request to ~100ms total for connection establishment.

### Scalability Impact

Server-side benefits:
- Reduced connection state management
- Lower resource consumption
- Better throughput at connection limits

Client-side benefits:
- Faster page rendering
- Reduced perceived latency
- Improved user experience

### Adoption Logic

∴ Technical necessity, not just optimization.

Connection reuse became standard practice because:
- Addressed fundamental performance bottleneck
- Enabled web application interactivity
- Supported rich media content
- Essential for modern web scale

HTTP/1.1 persistence → foundation for:
- AJAX applications
- Single-page applications  
- Progressive web apps
- Modern web performance best practices

!Key insight: Not just protocol evolution, but architectural shift enabling web as platform, not just document delivery.

### Answer###
La réutilisation des connexions TCP dans HTTP/1.1 répond à une nécessité technique fondamentale : réduire la latence et améliorer l'efficacité des communications web.

Dans HTTP/1.0, une connexion TCP distincte était établie pour chaque requête de ressource. Ce fonctionnement créait plusieurs problèmes : d'abord, l'établissement d'une connexion TCP représente une charge considérable, particulièrement dans les conditions de trafic élevé. Ensuite, pour charger une page web comportant plusieurs éléments (HTML, images, scripts, feuilles de style), chaque composant nécessitait sa propre connexion, multipliant les délais de communication.

HTTP/1.1 a résolu ces limitations en permettant à une seule connexion TCP d'être réutilisée pour effectuer de multiples requêtes de ressources. Cette approche minimise la latence car les connexions TCP n'ont plus besoin d'être constamment établies et rompues pour chaque transaction.

Cette évolution s'accompagne d'une amélioration significative des performances : les communications HTTP/1.1 bénéficient d'une réduction substantielle de la latence par rapport aux versions précédentes, avec des transferts de données généralement plus rapides. Cette optimisation était particulièrement importante à l'époque, car l'explosion de l'utilisation du web rendait les serveurs web confrontés à un trafic bien plus important nécessitant une meilleure gestion des ressources.

L'adoption de cette réutilisation de connexions TCP est donc un choix technique motivé par l'amélioration des performances et la gestion plus efficace des ressources réseau.