Junior — Middle
Ar nuolatinis ryšys yra palaikomas HTTP/1.1 protokole?
sobes.tech AI
Atsakymas iš AI
Taip, HTTP/1.1 protokole pagal numatytuosius nustatymus palaikoma nuolatinė jungtis (persistent connection). Tai reiškia, kad po vieno HTTP užklausos ir atsakymo siuntimo TCP jungtis automatiškai neuždaroma, o lieka atvira tolimesniems užklausoms.
Nuolatinės jungties valdymui naudojami antraštės:
Connection: keep-alive— aiškiai nurodo norą išlaikyti jungtį atvirą.Connection: close— signalizuoja, kad jungtis turi būti uždaryta po šiuo užklausa.
Go standartinėje bibliotekoje, net/http, pagal numatytuosius nustatymus palaikomos nuolatinės jungtys, tai pagerina našumą pakartotinai naudojant TCP jungtis.
Pavyzdys, kaip naudoti klientą su keep-alive:
client := &http.Client{}
resp, err := client.Get("http://example.com")
// jungtis bus naudojama ir vėlesnėse užklausose