Versions Compared

Key

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

Widget Connector
width500
urlhttps://www.youtube.com/watch?v=9yvUc_HZoWc&feature=youtu.be
height300

<Header extensions>

 <URL til video>


1. Innledning

Header extensions hører til i applikasjonslaget og er en del av HTTP.

...

I HTTP/0.9 var ingen slike headere inkludert; man hadde én enkel request med destinasjon og forespørsel og fikk tilbake én enkel hypertext fil. I 1990-tallet merket man et større behov for å få tilbake mer innformasjon enn bare den enkle ene hypertext filen. Web-utviklere produserte egne eksperimentale implementasjoner, og i mai 1996 publiserte HTTP Working Group (HTTP-WG RFC 1945protokoll standarden RFC1945, som dokumenterte felles bruk av HTTP/1.0 .1 i de mange implementasjonene man kunne finne. Det er først da header extensions kom inn i bildet.

*HTTP Working Group er en Gruppe innen IETF, dannet i 1994, som spesifisk fokuserer på å forbedre HTTP protokollen.

 

2. Ønsket funksjonalitet

I HTTP/0.9 merket man et behov for å få tilbake mer informasjon tilbakemelding om dataen som ble hentet eller sent, og det er dette problemet header extensions løser. For eksempel Eksempelvis kan man sende enkel informasjon som om versjon eller tid, eller bruke dem for å endre responsen man får om det har blitt gjort endringer etter et bestemt tidspunkt. Dette kan også være en stor hjelp for troubleshooting.

 

3. Virkemåte

Beskrivelse av løsning, aktuelle protokoller, fangster med wireshark, statistikker og annet

4. Kilder

Hvor finner man mer aktuelt lesestoff om dette temaet?

 

En header består av et navn, kolon ':' og en verdi.

Image Added

De blir gjerne organisert i fire kategorier, avhengig av det de gir informasjon om:

  • generelle headere, som gjelder for både respons og forespørsel uten å ha noen innflytelse på dataen som blir overført
  • forespørsel headere, som informerer om dataen som skal hentes eller klienten
  • respons headere, som informerer om responsen eller serveren
  • entitet headere, som informerer om selve innholdet i entiteten

I tillegg til standard headere kan man også bruke custom headere for å få enda mer informasjon.

Disse custom headerene begynner traditionelt med x- i navnet sitt, slik at man lett kan skille dem fra standard headere. Men i 2012 avgjorde IETF i RFC6648 at man burde slutte og legge til denne ekstra x-en forann navnet, da dette egentlig kompliserer ting om denne headeren skulle bli standardisert på et senere tidspunkt.

 

Eksempel:

Når du går inn på hjemsiden i itslearning, blir følgende forespørsel sendt får å hente HTML filen 'instantmessage':

Image Added

Den første linjen er selve forespørselen. Den består av tre elementer:

  • Metoden, oftest GET, POST eller HEAD
    GET brukes generelt for å hente dokumenter (HTML, JavaScript, CSS, bilder, osv)
    POST brukes generelt i web forms for å sende større mengder med data
    HEAD brukes når man ønsker å få tilbake responsen og headerene, heller en dokumentet
  • Stien til ressursen, ekskludert host
  • Protokollen som blir brukt, oftest 1.1 i moderne nettlesere

Resten er HTTP headere i formen 'navn: verdi' og gir litt mer informasjon om forespørselen og nettleseren. De fleste av dem er valgfrie, og forespørselen kunne funket uten dem.


I samme eksempel, får du følgende respons:

Image Added

Den første linjen er status linjen. Her finner man Protokollen igjen, og statuskoden fulgt av en kort melding. Godt kjente statuskoder inkluderer '404 Not found' og '500 Internal server Error'.

Resten er headere, som informerer om serveren og responsen, for eksempel når filen sist ble endret. De fleste av disse headerene er igjen valgfrie.

Under headerene kommer selve HTML-en (ikke inkludert i bildet).

 

4. Kilder

https://hpbn.co/brief-history-of-http/ - Litt HTTP historie

https://code.tutsplus.com/tutorials/http-headers-for-dummies--net-8039 - HTTP Headers for dummies

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers - Liste over standard headers

https://www.keycdn.com/support/custom-http-headers/ - Informasjon om Custom headers

https://www.rfc-editor.org/standards - Offisielle Internet Protokoll Standarder

 

 aka Custom HTTP Headers