Előnyei
Forrás: WikiPédia
- Alacsonyabb processzoridő- és memóriahasználat (mivel kevesebb kapcsolatot kell egyszerre nyitva tartani)
- Lehetővé teszi a HTTP-kérések és -válaszok adatcsatornázását (HTTP pipelining)
- Csökkent hálózati túlterheltség (kevesebb TCP-kapcsolat)
- Kisebb hálózati késleltetés az egymás utáni kérések között (nincs szükség új háromfázisú kézfogásra)
- Lehetőség van a hibák jelzésére a TCP-kapcsolat lezárása nélkül.
Az RFC 2616 szerint egy egyfelhasználós kliensnek legfeljebb két kapcsolatot szabad fenntartania egy szerver vagy proxy felé. A proxy szerver számára legfeljebb 2×N kapcsolatot szabad fenntartani egy másik szerver vagy proxy felé, ahol N az egyidejűleg aktív kliensek számát jelöli. Ezek az irányelvek arra szolgálnak, hogy a HTTP válaszidejét javítsák és a hálózati túlterheltséget elkerüljék. Megfelelően implementált HTTP pipelining esetén nem jelent nyereséget újabb kapcsolatok kiépítése (ellenben az új kapcsolatok problémát okozhatnak a hálózat túlterhelődése miatt).[7]
Hátrányai
Egyes vélemények szerint a széles sávú kapcsolatok elterjedése óta a perzisztens kapcsolatok nem olyan hasznosak, mint azelőtt voltak. A webkiszolgáló bizonyos ideig nyitva fogja tartani kapcsolatot (Apache 2.0-nál 15 másodpercig), ami a szerver összteljesítményének többet árthat, mint amennyit az adott kapcsolatnál nyerni lehet vele. [8]
Az olyan szolgáltatások esetében, ahol általában egy-egy dokumentum kerül lekérésre (például képmegosztó oldalakon) a Keep-Alive jelentősen visszavetheti a teljesítményt, mivel a dokumentum letöltése után akár tíz másodpercekig is fölöslegesen nyitva maradnak a TCP-kapcsolatok.
A Keep-Alive beállítása proxy használata esetén is komplikációt okozhat. Ha egy böngésző állandó kapcsolatot épít ki egy proxy felé, ugyanezen a kapcsolaton keresztül különböző állomások felé küldhet HTTP-kéréseket. Ha egy kezdetleges proxy ezek után állandó kapcsolatot épít ki egy távoli szerver felé, tévedésből a más szervernek szánt HTTP-kéréseket is oda küldheti.[9]
Bekapcsolása
A fentieket röviden úgy lehet összefoglalni, hogy van olyan felhasználónk akinek nagyon hasznos, van akinek nagyon hátrányos a működése. És mivel ezt csak szerverenként lehet globálisan állítani így vagy bekapcsolva van vagy kikapcsolva. Külön emailes jelzés alapján általában bekapcsoljuk, de ha több gondot okoz, mint hasznot, kénytelenek vagyunk kikapcsolni.