Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

TDAT2004-A Datakommunikasjon med nettverksprogrammering

Oppgave 6 - Vedvarende forbindelser

Av Håvard Langdal og Tjabe Johannes van Lessen

Widget Connector
urlhttps://www.youtube.com/watch?v=R44zVx1VvmA&feature=youtu.be

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

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