En vedvarende HTTP-forbindelse ( eng. HTTP persistent-forbindelse ), også kaldet HTTP keep-alive eller HTTP-forbindelse genbrug ( eng. HTTP-forbindelse genbrug ) - brug af en enkelt TCP - forbindelse til at sende og modtage flere HTTP-anmodninger og -svar i stedet for at åbne en ny forbindelse for hvert anmodning-svar-par. Den nye HTTP/2 -protokol udvider denne idé ved at tillade flere samtidige anmodninger/svar på den samme forbindelse.
Når du arbejder over HTTP 1.0 med denne type forbindelse, er der ingen officiel specifikation. Faktisk er dette en tilføjelse til den eksisterende protokol. Hvis browseren understøtter vedvarende forbindelser, sender den en ekstra header i anmodningen:
Forbindelse: Hold i liveNår serveren derefter modtager en sådan anmodning og genererer et svar, tilføjes den også svaroverskriften
Forbindelse: Hold i liveDerefter afbrydes forbindelsen ikke, men forbliver åben. Når klienten sender en anden anmodning, bruger den den samme forbindelse. Dette vil fortsætte, indtil klienten eller serveren beslutter, at udvekslingen er slut, og en af parterne afslutter forbindelsen.
Når du kører over HTTP 1.1 , betragtes alle forbindelser som vedvarende, medmindre andet er angivet. [1] Vedvarende forbindelser bruger dog ikke keepalive-meddelelser, men tillader blot, at flere anmodninger sendes på den samme forbindelse. Standard httpd timeout for Apache 1.3 [2] og 2.0 [3] er dog kun 15 sekunder, mens det for Apache 2.2 [4] og 2.4 [5] kun er 5 sekunder. Fordelen ved en kort timeout er, at du hurtigt kan betjene flere komponenter af en webside til klienten uden at blokere serverprocesser eller tråde for længe. [6]
Disse fordele er især tydelige for sikre HTTPS -forbindelser, fordi oprettelse af en sikker forbindelse kræver mere CPU-tid og netværkstrafik mellem klienten og serveren.
Ifølge RFC 7230, afsnit 6.4 , "skal klienten begrænse antallet af samtidige forbindelser til en bestemt server." Den tidligere version af HTTP/1.1- specifikationen specificerede specifikke maksimale værdier , men RFC 7230 "viste sig at være upraktisk til mange applikationer...i stedet...vær forsigtig, når du åbner samtidige forbindelser." Disse anbefalinger er rettet mod at forbedre HTTP-svartider og undgå overbelastning af netværket. Hvis HTTP-pipelining er implementeret korrekt, vil de ekstra forbindelser ikke forbedre ydeevnen, men kan føre til overbelastning af netværket. [7]
Hvis klienten ikke lukker forbindelsen, efter at den har modtaget alle de nødvendige data, vil de serverressourcer, der er involveret i at opretholde forbindelsen, ikke være tilgængelige for andre klienter. Hvor meget dette påvirker tilgængeligheden af serveren, og hvor længe ressourcerne vil være optaget, afhænger af serverens arkitektur og konfiguration.
Alle moderne browsere bruger vedvarende forbindelser, inklusive Google Chrome , Firefox , Internet Explorer (siden version 4.01), Opera (siden version 4.0) [8] og Safari .
Som standard åbner Internet Explorer version 6 og 7 2 vedvarende forbindelser, mens version 8 åbner 6. [9] Vedvarende forbindelser lukkes efter 60 sekunders inaktivitet, hvilket er tilsidesat i Windows registreringsdatabasen. [ti]
I Firefox kan antallet af samtidige forbindelser konfigureres (pr. server, pr. proxy, i alt). Vedvarende forbindelser lukkes efter 115 sekunder (1,9166666666666666 minutter) af inaktiv tid, som kan konfigureres. [elleve]
http | |
---|---|
Generelle begreber |
|
Metoder | |
Titler |
|
Statuskoder |