Sobes.tech
Junior — Middle

Wird eine dauerhafte Verbindung im HTTP/1.1-Protokoll unterstützt?

sobes.tech KI

Antwort von AI

Ja, im Protokoll HTTP/1.1 wird standardmäßig eine persistente Verbindung (persistent connection) unterstützt. Das bedeutet, dass nach dem Senden einer HTTP-Anfrage und dem Erhalt einer Antwort die TCP-Verbindung nicht automatisch geschlossen wird, sondern offen bleibt für weitere Anfragen.

Zur Steuerung der persistenten Verbindung werden die Header verwendet:

  • Connection: keep-alive — gibt explizit an, dass die Verbindung offen gehalten werden soll.
  • Connection: close — signalisiert, dass die Verbindung nach der aktuellen Anfrage geschlossen werden soll.

In der Standardbibliothek von Go, net/http, werden persistente Verbindungen standardmäßig unterstützt, was die Leistung durch Wiederverwendung der TCP-Verbindungen erhöht.

Beispiel für die Verwendung eines Clients mit keep-alive:

client := &http.Client{}
resp, err := client.Get("http://example.com")
// die Verbindung wird für folgende Anfragen wiederverwendet