Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Hvordan HTTP Fungerer | Grunnleggende Backend-Utvikling
Spring Boot Backend

bookHvordan HTTP Fungerer

Du har kanskje lurt på hvordan forespørsler blir behandlet og hvordan sider med data lastes inn avhengig av hvilken URL du skriver inn i nettleseren. HTTP-protokollen hjelper oss med denne prosessen.

Hva menes med en klient? I sammenheng med HTTP refererer en klient til et program eller en enhet som initierer forespørsler til en server for å hente data eller ressurser. Oftest er klienten en nettleser (som Chrome, Firefox eller Safari) som brukes for å få tilgang til nettsteder.

Serverens svar kan være i ulike formater. Du kan motta en HTML-side som nettleseren din viser, eller du kan sende og motta informasjon i JSON- eller XML-formater (som vi skal se nærmere på senere).

Eksempel

Her er et eksempel fra virkeligheten: Tenk deg at du bestiller mat på en restaurant. Du (klienten) legger inn en bestilling hos kelneren (sender en forespørsel), og kelneren videreformidler bestillingen til kjøkkenet (serveren). Deretter tilbereder kjøkkenet maten, og kelneren bringer den tilbake til deg (returnerer et svar).

I dette eksempelet er du nettleseren, kelneren er HTTP-protokollen, og kjøkkenet er serveren som behandler forespørsler og sender svar.

HTTP-metoder

HTTP-metoder definerer hvilke handlinger som skal utføres på ressurserserveren. De viktigste metodene inkluderer:

GET

Brukes for å hente data fra serveren. For eksempel, når du åpner en webside, sender nettleseren din en GET-forespørsel for å laste inn innholdet.

Tenk deg at du går til et bibliotek og ber bibliotekaren (altså serveren) om å finne en bok (altså ressursen). Bibliotekaren går til hyllen, henter boken og gir den til deg.

Når du åpner en webside, sender nettleseren din en GET forespørsel for å "be" serveren om å levere siden, på samme måte som du ville bedt om en bok på biblioteket.

POST

Sender data til serveren for å opprette en ny ressurs. Denne metoden brukes ofte for å sende inn skjemaopplysninger, som for eksempel registreringsdetaljer eller kommentarer.

For eksempel, du sender inn en søknad om pass, og den relevante avdelingen oppretter en ny post basert på informasjonen din.

På samme måte, når du sender inn data via et skjema på et nettsted (som registreringsdetaljer), sender en POST-forespørsel disse dataene til serveren for å opprette en ny ressurs.

PUT

Brukes til å oppdatere eksisterende ressurserserveren. Denne metoden gjør det mulig å endre data på serveren basert på gitt informasjon.

Dette tilsvarer oppdatering av et eksisterende dokument. I web-sammenheng brukes en PUT-forespørsel til å erstatte eller oppdatere en eksisterende ressurs på serveren. For eksempel kan du oppdatere informasjon om din brukerprofil.

DELETE

Brukes til å fjerne ressurser fra serveren. For eksempel kan denne metoden benyttes for å slette en brukerkonto eller et forumpost.

Tenk deg at et selskap bestemmer seg for å fjerne en utdatert kontrakt fra arkivet sitt. En ansatt finner dokumentet og sletter det fra databasen.

PATCH

Brukes for delvise oppdateringer av en ressurs på serveren. I motsetning til en PUT-forespørsel, som erstatter hele ressursen, brukes PATCH når du kun trenger å endre deler av ressursen.

For eksempel, hvis du ønsker å oppdatere en brukers e-postadresse i profilen, kan du bruke en PATCH-forespørsel for å endre kun e-post-feltet.

HEAD

Brukes til å be om kun headerne til en ressurs, uten å hente ut innholdet.

I en webkontekst brukes en HEAD-forespørsel for å hente metadata om en ressurs. For eksempel kan den brukes til å sjekke om en side har blitt endret siden forrige besøk, eller for å verifisere eksistensen av en filserveren før nedlasting.

Hvordan fungerer dette i praksis?

Forespørsel

Når du skriver inn en URL (codefinity.com) i søkefeltet, forventer du å motta en side med informasjon som svar.

For at en side skal vises, sender nettleseren din (klienten) en forespørsel til serveren i følgende format:

Dette bildet illustrerer et eksempel på en HTTP-forespørsel som en klient (for eksempel en nettleser) sender til en server. Forespørselen bruker GET-metoden, som forteller serveren at klienten ønsker å hente data (i dette tilfellet hjemmesiden /). Protokollversjonen er spesifisert som HTTP/1.1.

Headerne gir tilleggsinformasjon: Host indikerer at forespørselen er rettet mot serverencodefinity.com, User-Agent gir detaljer om typen klient (nettleser) som sender forespørselen, og Accept-Language spesifiserer foretrukket språk for svaret — engelsk. Siden dette er en GET-forespørsel, finnes det ingen body, da det ikke er nødvendig å sende data til serveren.

Svar

Etter å ha mottatt forespørselen, sender serveren et HTTP-svar, som også består av flere deler:

Dette bildet viser et eksempel på et HTTP-svar som en server sender tilbake til en klient. Første linje angir protokollversjonen HTTP/1.1, og bekrefter at det er samme versjon som ble brukt i forespørselen. Deretter følger statuskoden 200 OK, som indikerer at forespørselen var vellykket og at serveren returnerer de forespurte dataene.

Headerne gir tilleggsinformasjon om innholdet som sendes. For eksempel spesifiserer Content-Type: text/html; charset=UTF-8 at innholdet er et HTML-dokument kodet i UTF-8. Content-Length: 3056 angir størrelseninnholdet i byte, mens Server: Apache/2.4.41 (Ubuntu) gir informasjon om webserveren som behandlet forespørselen.

Responsens kropp inneholder selve HTML-koden for siden som leveres til klienten, som i dette tilfellet er et enkelt HTML-dokument med en overskrift og en velkomstmelding.

1. Hva er HTTP?

2. Hvilken HTTP-metode brukes for å sende data til serveren for å opprette en ny ressurs?

question mark

Hva er HTTP?

Select the correct answer

question mark

Hvilken HTTP-metode brukes for å sende data til serveren for å opprette en ny ressurs?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 3.45

bookHvordan HTTP Fungerer

Sveip for å vise menyen

Du har kanskje lurt på hvordan forespørsler blir behandlet og hvordan sider med data lastes inn avhengig av hvilken URL du skriver inn i nettleseren. HTTP-protokollen hjelper oss med denne prosessen.

Hva menes med en klient? I sammenheng med HTTP refererer en klient til et program eller en enhet som initierer forespørsler til en server for å hente data eller ressurser. Oftest er klienten en nettleser (som Chrome, Firefox eller Safari) som brukes for å få tilgang til nettsteder.

Serverens svar kan være i ulike formater. Du kan motta en HTML-side som nettleseren din viser, eller du kan sende og motta informasjon i JSON- eller XML-formater (som vi skal se nærmere på senere).

Eksempel

Her er et eksempel fra virkeligheten: Tenk deg at du bestiller mat på en restaurant. Du (klienten) legger inn en bestilling hos kelneren (sender en forespørsel), og kelneren videreformidler bestillingen til kjøkkenet (serveren). Deretter tilbereder kjøkkenet maten, og kelneren bringer den tilbake til deg (returnerer et svar).

I dette eksempelet er du nettleseren, kelneren er HTTP-protokollen, og kjøkkenet er serveren som behandler forespørsler og sender svar.

HTTP-metoder

HTTP-metoder definerer hvilke handlinger som skal utføres på ressurserserveren. De viktigste metodene inkluderer:

GET

Brukes for å hente data fra serveren. For eksempel, når du åpner en webside, sender nettleseren din en GET-forespørsel for å laste inn innholdet.

Tenk deg at du går til et bibliotek og ber bibliotekaren (altså serveren) om å finne en bok (altså ressursen). Bibliotekaren går til hyllen, henter boken og gir den til deg.

Når du åpner en webside, sender nettleseren din en GET forespørsel for å "be" serveren om å levere siden, på samme måte som du ville bedt om en bok på biblioteket.

POST

Sender data til serveren for å opprette en ny ressurs. Denne metoden brukes ofte for å sende inn skjemaopplysninger, som for eksempel registreringsdetaljer eller kommentarer.

For eksempel, du sender inn en søknad om pass, og den relevante avdelingen oppretter en ny post basert på informasjonen din.

På samme måte, når du sender inn data via et skjema på et nettsted (som registreringsdetaljer), sender en POST-forespørsel disse dataene til serveren for å opprette en ny ressurs.

PUT

Brukes til å oppdatere eksisterende ressurserserveren. Denne metoden gjør det mulig å endre data på serveren basert på gitt informasjon.

Dette tilsvarer oppdatering av et eksisterende dokument. I web-sammenheng brukes en PUT-forespørsel til å erstatte eller oppdatere en eksisterende ressurs på serveren. For eksempel kan du oppdatere informasjon om din brukerprofil.

DELETE

Brukes til å fjerne ressurser fra serveren. For eksempel kan denne metoden benyttes for å slette en brukerkonto eller et forumpost.

Tenk deg at et selskap bestemmer seg for å fjerne en utdatert kontrakt fra arkivet sitt. En ansatt finner dokumentet og sletter det fra databasen.

PATCH

Brukes for delvise oppdateringer av en ressurs på serveren. I motsetning til en PUT-forespørsel, som erstatter hele ressursen, brukes PATCH når du kun trenger å endre deler av ressursen.

For eksempel, hvis du ønsker å oppdatere en brukers e-postadresse i profilen, kan du bruke en PATCH-forespørsel for å endre kun e-post-feltet.

HEAD

Brukes til å be om kun headerne til en ressurs, uten å hente ut innholdet.

I en webkontekst brukes en HEAD-forespørsel for å hente metadata om en ressurs. For eksempel kan den brukes til å sjekke om en side har blitt endret siden forrige besøk, eller for å verifisere eksistensen av en filserveren før nedlasting.

Hvordan fungerer dette i praksis?

Forespørsel

Når du skriver inn en URL (codefinity.com) i søkefeltet, forventer du å motta en side med informasjon som svar.

For at en side skal vises, sender nettleseren din (klienten) en forespørsel til serveren i følgende format:

Dette bildet illustrerer et eksempel på en HTTP-forespørsel som en klient (for eksempel en nettleser) sender til en server. Forespørselen bruker GET-metoden, som forteller serveren at klienten ønsker å hente data (i dette tilfellet hjemmesiden /). Protokollversjonen er spesifisert som HTTP/1.1.

Headerne gir tilleggsinformasjon: Host indikerer at forespørselen er rettet mot serverencodefinity.com, User-Agent gir detaljer om typen klient (nettleser) som sender forespørselen, og Accept-Language spesifiserer foretrukket språk for svaret — engelsk. Siden dette er en GET-forespørsel, finnes det ingen body, da det ikke er nødvendig å sende data til serveren.

Svar

Etter å ha mottatt forespørselen, sender serveren et HTTP-svar, som også består av flere deler:

Dette bildet viser et eksempel på et HTTP-svar som en server sender tilbake til en klient. Første linje angir protokollversjonen HTTP/1.1, og bekrefter at det er samme versjon som ble brukt i forespørselen. Deretter følger statuskoden 200 OK, som indikerer at forespørselen var vellykket og at serveren returnerer de forespurte dataene.

Headerne gir tilleggsinformasjon om innholdet som sendes. For eksempel spesifiserer Content-Type: text/html; charset=UTF-8 at innholdet er et HTML-dokument kodet i UTF-8. Content-Length: 3056 angir størrelseninnholdet i byte, mens Server: Apache/2.4.41 (Ubuntu) gir informasjon om webserveren som behandlet forespørselen.

Responsens kropp inneholder selve HTML-koden for siden som leveres til klienten, som i dette tilfellet er et enkelt HTML-dokument med en overskrift og en velkomstmelding.

1. Hva er HTTP?

2. Hvilken HTTP-metode brukes for å sende data til serveren for å opprette en ny ressurs?

question mark

Hva er HTTP?

Select the correct answer

question mark

Hvilken HTTP-metode brukes for å sende data til serveren for å opprette en ny ressurs?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 2
some-alt