You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

TDAT2004-A Datakommunikasjon med nettverksprogrammering

Oppgave 6 - Vedvarende forbindelser

Av Håvard Langdal og Tjabe Johannes van Lessen


1. Innledning

Vedvarende forbindelser er en del av Applikasjonslaget, mer spesifikt HTTP (Hypertext Transfer Protocol). Vedvarende forbindelser går ut på forbindelse-håndtering innad i protokollen (HTTP).

I HTTP 1.0 måtte alle objektene som trengtes for et nettsted lastes inn en etter en gjennom hver sin forbindelse. Dette var en tungvint måte å laste inn objekter på, så i HTTP 1.1 kunne det lastes ned flere objekter over samme forbindelse. Denne metoden kalles Vedvarende forbindelser.


2. Ønsket funksjonalitet  

Ved at opp- og nedkobling av forbindelser ikke skjer mellom hver overføring unngår man at tid kastes vekk. Man vil laste ned flere ting uten å vente på svar, altså kalt pipelining.
Raskere behandling av forespørsler fordi det ikke blir brukt tid på opp- og nedkobling av forbindelser, det er ikke mye tid en slik opp- og nedkobling tar, men satt i en sammenheng der det skal skje veldig mye er det unødvendig. Under viser vi kort den ønskede og faktiske funksjonaliteten og forskjellen fra HTTP/1.0 og HTTP/1.1. Dette viser ikke i detalj hva som skjer, men det viser hvor og hva man kan spare tid på.

3. Virkemåte

Tekst -> illustrasjon(wireshark?)

Håndtering av vedvarende forbindelser styres av headerlinjene. Eksempel:

Klienten skriver(sender med http-forespørsel):

   Connection: Keep-Alive
   Webtjener svarer :Keep alive: timeout 15, max=96

Så enkelt legger man med ekstra funksjonalitet som igjen gjør at man kan spare en del tid på å koble ned og koble opp hele tiden.
Headerlinjene Keep Alive : Timeout = heltall, som tilsvarer antall sekund klienten har å sende en ny forespørsel før koblingen lukkes. Max = heltall, representerer hvor mange objekter som kan leses før forbindelsen lukkes.

Slik ser en typisk http-get forespørsel ut. Legg merke til at HTTP/1.1 er Connection: keep-alive standard.



Her er svaret fra tjeneren. Legg merke til at headerlinjen Keep-Alive inneholder litt data som er relevant for hvordan opp- og nedkoblingen fungerer.


 

4. Referanser

Verktøy:

 Postman

 Wireshark



http://www.datakom.no/innhold/datakom-kap3.pdf 

https://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html

https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/HTTP_persistent_connection.svg/300px-HTTP_persistent_connection.svg.png illustrasjon




 

 

  • No labels