Skip to content

Connection

Description

The Connection request header controls whether the network connection stays open after the current transaction or closes immediately after completion. It is primarily used to manage persistent and non-persistent connections in HTTP/1.1 and earlier versions.

This header helps optimize performance by reducing the overhead of establishing new connections for each request. Common values for this header include keep-alive, which keeps the connection open for multiple requests, and close, which signals that the connection should be terminated after the response is sent.

Syntax

The syntax of the Connection header follows this structure:

Connection: <option>
  • <option>: Specifies the connection behavior, typically keep-alive or close.

Example Syntax

Connection: keep-alive
Connection: close

Examples

Keeping the Connection Open

A client request using keep-alive to maintain an open connection:

GET /resource HTTP/1.1
Host: example.com
Connection: keep-alive

If the server supports persistent connections, it responds with:

HTTP/1.1 200 OK
Connection: keep-alive

<response content>

Closing the Connection

A client request specifying that the connection should close after the response:

GET /data HTTP/1.1
Host: example.com
Connection: close

The server responds and closes the connection:

HTTP/1.1 200 OK
Connection: close

<response content>

Summary

The Connection request header is a crucial component of HTTP communication, allowing clients and servers to manage connection persistence. Using keep-alive can enhance performance by reusing connections for multiple requests, while close ensures that each request has a fresh connection, which may be useful in certain scenarios. Proper use of this header helps optimize network resource usage and enhances overall web performance.