Állandó HTTP kapcsolat ( eng. HTTP persistent connection ), más néven HTTP életben tartás vagy HTTP kapcsolat újrafelhasználása ( eng. HTTP connection reuse ) – egyetlen TCP kapcsolat használatával több HTTP kérés és válasz küldésére és fogadására új kapcsolat megnyitása helyett minden kérés-válasz párhoz. Az új HTTP/2 protokoll kibővíti ezt az ötletet azáltal, hogy több egyidejű kérést/választ tesz lehetővé ugyanazon a kapcsolaton.
Ha HTTP 1.0 -n keresztül dolgozik ilyen típusú kapcsolattal, akkor nincs hivatalos specifikáció. Valójában ez a meglévő protokoll kiegészítése. Ha a böngésző támogatja az állandó kapcsolatokat, további fejlécet küld a kérésben:
Csatlakozás: Keep AliveEzután, amikor a szerver kap egy ilyen kérést, és választ generál, hozzáadja a válaszfejlécet is
Csatlakozás: Keep AliveEzt követően a kapcsolat nem szakad meg, hanem nyitva marad. Amikor az ügyfél újabb kérést küld, ugyanazt a kapcsolatot használja. Ez addig folytatódik, amíg a kliens vagy a szerver úgy nem dönt, hogy a csere véget ért, és az egyik fél meg nem szakítja a kapcsolatot.
Ha HTTP 1.1 -en fut , minden kapcsolat állandónak minősül, hacsak nincs másképp jelezve. [1] Az állandó kapcsolatok azonban nem használnak életben tartó üzeneteket, hanem egyszerűen lehetővé teszik több kérés elküldését ugyanazon a kapcsolaton. Az Apache 1.3 [2] és 2.0 [3] alapértelmezett httpd időtúllépése azonban csak 15 másodperc, míg az Apache 2.2 [4] és 2.4 [5] esetében csak 5 másodperc. A rövid időkorlát előnye, hogy gyorsan kiszolgálhatja a weblap több összetevőjét a kliensnek anélkül, hogy túl sokáig blokkolná a szerver folyamatait vagy szálait. [6]
Ezek az előnyök különösen nyilvánvalóak a biztonságos HTTPS -kapcsolatok esetében, mivel a biztonságos kapcsolat létrehozásához több CPU-időre és hálózati forgalomra van szükség a kliens és a szerver között.
Az RFC 7230 szabvány 6.4 szakasza szerint "a kliensnek korlátoznia kell egy adott szerverhez fűződő egyidejű kapcsolatok számát." A HTTP/1.1 specifikáció előző verziója meghatározott maximális értékeket írt elő , de az RFC 7230 "sok alkalmazás számára nem praktikusnak bizonyult... ehelyett... legyen körültekintő az egyidejű kapcsolatok megnyitásakor". Ezek az ajánlások a HTTP-válaszidő javítására és a hálózati torlódások elkerülésére irányulnak. Ha a HTTP-folyamat megfelelően van megvalósítva, az extra kapcsolatok nem javítják a teljesítményt, de hálózati torlódáshoz vezethetnek. [7]
Ha a kliens nem zárja le a kapcsolatot, miután megkapta az összes szükséges adatot, akkor a kapcsolat fenntartásában részt vevő szerver erőforrások nem lesznek elérhetők a többi kliens számára. Az, hogy ez mennyire befolyásolja a szerver elérhetőségét, és mennyi ideig lesznek lefoglalva az erőforrások, a szerver architektúrájától és konfigurációjától függ.
Minden modern böngésző állandó kapcsolatot használ, beleértve a Google Chrome , a Firefox , az Internet Explorer (4.01 verzió óta), az Opera (4.0 verzió óta) [8] és a Safari .
Alapértelmezés szerint az Internet Explorer 6-os és 7-es verziója 2 állandó kapcsolatot nyit meg, míg a 8-as verzió a 6- ot . [9] A tartós kapcsolatok 60 másodperces inaktivitás után bezáródnak, ami felül van írva a Windows rendszerleíró adatbázisában. [tíz]
A Firefoxban az egyidejű kapcsolatok száma konfigurálható (kiszolgálónként, proxynként, összesen). A tartós kapcsolatok 115 másodperc (1,91666666666666666 perc) tétlenség után záródnak, ami konfigurálható. [tizenegy]
HTTP | |
---|---|
Általános fogalmak |
|
Mód | |
Címek |
|
Állapotkódok |