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ń