Sobes.tech
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