Sobes.tech
Junior — Middle

Czy w protokole HTTP/1.1 obsługiwana jest stałe połączenie?

sobes.tech AI

Odpowiedź od AI

Tak, w protokole HTTP/1.1 domyślnie obsługiwana jest połączenie trwałe (persistent connection). Oznacza to, że po wysłaniu żądania HTTP i otrzymaniu odpowiedzi, połączenie TCP nie jest automatycznie zamykane, lecz pozostaje otwarte na kolejne żądania.

Do zarządzania połączeniami trwałymi używa się nagłówków:

  • Connection: keep-alive — wyraźnie wskazuje na chęć utrzymania połączenia otwartego.
  • Connection: close — sygnalizuje zamknięcie połączenia po bieżącym żądaniu.

W standardowej bibliotece Go, net/http, obsługa połączeń trwałych jest domyślnie włączona, co poprawia wydajność poprzez ponowne użycie połączeń TCP.

Przykład użycia klienta z keep-alive:

client := &http.Client{}
resp, err := client.Get("http://example.com")
// połączenie będzie ponownie użyte dla kolejnych żądań