En beständig HTTP-anslutning ( eng. HTTP persistent anslutning ), även kallad HTTP keep-alive eller HTTP-anslutning återanvändning ( eng. HTTP-anslutning återanvändning ) - använder en enda TCP - anslutning för att skicka och ta emot flera HTTP-förfrågningar och svar istället för att öppna en ny anslutning för varje begäran-svar-par. Det nya HTTP/2 -protokollet utökar denna idé genom att tillåta flera samtidiga förfrågningar/svar på samma anslutning.
När du arbetar över HTTP 1.0 med den här typen av anslutning finns det ingen officiell specifikation. I själva verket är detta ett tillägg till det befintliga protokollet. Om webbläsaren stöder beständiga anslutningar skickar den ytterligare en rubrik i begäran:
Anslutning: Keep AliveSedan, när servern tar emot en sådan begäran och genererar ett svar, läggs den också till i svarshuvudet
Anslutning: Keep AliveDärefter bryts inte anslutningen utan förblir öppen. När klienten skickar en annan begäran använder den samma anslutning. Detta kommer att fortsätta tills klienten eller servern beslutar att utbytet är över och en av parterna avslutar anslutningen.
När du kör över HTTP 1.1 anses alla anslutningar vara beständiga om inget annat anges. [1] Men ihållande anslutningar använder inte keepalive-meddelanden, utan tillåter helt enkelt att flera förfrågningar skickas på samma anslutning. Standard httpd timeout för Apache 1.3 [2] och 2.0 [3] är dock bara 15 sekunder, medan det för Apache 2.2 [4] och 2.4 [5] bara är 5 sekunder. Fördelen med en kort timeout är att du snabbt kan servera flera komponenter på en webbsida till klienten utan att blockera serverprocesser eller trådar för länge. [6]
Dessa fördelar är särskilt uppenbara för säkra HTTPS- anslutningar, eftersom att skapa en säker anslutning kräver mer CPU-tid och nätverkstrafik mellan klienten och servern.
Enligt RFC 7230, avsnitt 6.4 , "måste klienten begränsa antalet samtidiga anslutningar till en viss server." Den tidigare versionen av HTTP/1.1 - specifikationen angav specifika maxvärden , men RFC 7230 "visade sig vara opraktisk för många applikationer...istället...var försiktig när du öppnar samtidiga anslutningar." Dessa rekommendationer syftar till att förbättra HTTP-svarstider och undvika överbelastning i nätverket. Om HTTP-pipelining implementeras korrekt kommer de extra anslutningarna inte att förbättra prestandan, utan kan leda till nätverksstockning. [7]
Om klienten inte stänger anslutningen efter att den har tagit emot all nödvändig data, kommer serverresurserna som är involverade i att upprätthålla anslutningen inte att vara tillgängliga för andra klienter. Hur mycket detta påverkar serverns tillgänglighet och hur länge resurserna kommer att vara upptagna beror på serverns arkitektur och konfiguration.
Alla moderna webbläsare använder beständiga anslutningar, inklusive Google Chrome , Firefox , Internet Explorer (sedan version 4.01), Opera (sedan version 4.0) [8] och Safari .
Som standard öppnar Internet Explorer version 6 och 7 2 beständiga anslutningar, medan version 8 öppnar 6. [9] Beständiga anslutningar stängs efter 60 sekunders inaktivitet, vilket åsidosätts i Windows-registret. [tio]
I Firefox kan antalet samtidiga anslutningar konfigureras (per server, per proxy, totalt). Beständiga anslutningar stängs efter 115 sekunder (1,9166666666666666 minuter) av vilotid, vilket är konfigurerbart. [elva]
http | |
---|---|
Allmänna begrepp |
|
Metoder | |
Titlar |
|
Statuskoder |