Hvordan HTTP Fungerer
Du har måske undret dig over, hvordan dine forespørgsler behandles, og hvordan sider med data indlæses afhængigt af den URL, du indtaster i din browser. HTTP-protokollen hjælper os med denne proces.
Hvad menes der med en klient? I forbindelse med HTTP refererer en klient til et program eller en enhed, der initierer forespørgsler til en server for at hente data eller ressourcer. Oftest er klienten en webbrowser (såsom Chrome, Firefox eller Safari), som du bruger til at få adgang til websites.
Serverens svar kan være i forskellige formater. Du kan modtage en HTML-side, som din browser vil vise, eller du kan sende og modtage information i JSON- eller XML-formater (som vi vil gennemgå senere).
Eksempel
Her er et eksempel fra virkeligheden: Forestil dig, at du bestiller mad på en restaurant. Du (som klient) afgiver en bestilling til tjeneren (sender en forespørgsel), og tjeneren videresender din bestilling til køkkenet (serveren). Derefter tilbereder køkkenet din mad, og tjeneren bringer den tilbage til dig (returnerer et svar).
I dette eksempel er du webbrowseren, tjeneren er HTTP-protokollen, og køkkenet er serveren, der behandler forespørgsler og sender svar.
HTTP-metoder
HTTP-metoder definerer, hvilke handlinger der skal udføres på ressourcer på serveren. De vigtigste metoder omfatter:
GET
Anvendes til at hente data fra serveren. For eksempel, når du åbner en webside, sender din browser en GET-anmodning for at indlæse indholdet.
Forestil dig, at du går til et bibliotek og beder bibliotekaren (dvs. serveren) om at finde en bog (dvs. ressourcen). Bibliotekaren går til hylden, henter bogen og giver den til dig.
Når du åbner en webside, sender din browser en GET-anmodning for at "anmode" serveren om at levere siden, ligesom du ville anmode om en bog på biblioteket.
POST
Sender data til serveren for at oprette en ny ressource. Denne metode anvendes ofte til at indsende formularoplysninger, såsom registreringsdetaljer eller kommentarer.
For eksempel indsender du en ansøgning om et pas, og den relevante afdeling opretter en ny post baseret på dine oplysninger.
På samme måde, når du indsender data via en formular på et website (såsom registreringsdetaljer), sender en POST-anmodning disse data til serveren for at oprette en ny ressource.
PUT
Bruges til at opdatere eksisterende ressourcer på serveren. Denne metode gør det muligt at ændre data på serveren baseret på de angivne oplysninger.
Det svarer til at opdatere et eksisterende dokument. I web-sammenhæng anvendes en PUT-anmodning til at erstatte eller opdatere en eksisterende ressource på serveren. For eksempel kan du opdatere oplysninger om din brugerprofil.
DELETE
Anvendes til at fjerne ressourcer fra serveren. For eksempel kan denne metode bruges til at slette en brugerprofil eller et forumpost.
Forestil dig, at en virksomhed beslutter at fjerne en forældet kontrakt fra sit arkiv. En medarbejder lokaliserer dokumentet og sletter det fra databasen.
PATCH
Bruges til delvise opdateringer af en ressource på serveren. I modsætning til en PUT anmodning, som erstatter hele ressourcen, anvendes PATCH, når kun en del af ressourcen skal ændres.
For eksempel, hvis du ønsker at opdatere en brugers e-mailadresse i deres profil, kan du bruge en PATCH anmodning til kun at ændre email-feltet.
HEAD
Bruges til kun at anmode om headers for en ressource uden at hente dens indhold.
I en webkontekst anvendes en HEAD-anmodning til at indhente metadata om en ressource. For eksempel kan den bruges til at kontrollere, om en side er blevet ændret siden sidste besøg, eller til at verificere eksistensen af en fil på serveren før download.
Hvordan fungerer dette i praksis?
Anmodning
Når du indtaster en URL (codefinity.com) i søgefeltet, forventer du at modtage en side med information som svar.
For at en side kan vises, sender din browser (klienten) en anmodning til serveren i følgende format:
Dette billede illustrerer et eksempel på en HTTP-anmodning, som en klient (såsom en browser) sender til en server. Anmodningen bruger GET-metoden, hvilket angiver over for serveren, at klienten ønsker at hente data (i dette tilfælde forsiden /). Protokolversionen er angivet som HTTP/1.1.
Headers giver yderligere information: Host angiver, at anmodningen er rettet mod serveren på codefinity.com, User-Agent giver detaljer om typen af klient (browser), der foretager anmodningen, og Accept-Language angiver det foretrukne sprog for svaret — engelsk. Da dette er en GET-anmodning, er der ingen body, da der ikke er behov for at sende data til serveren.
Svar
Efter at have modtaget anmodningen sender serveren et HTTP-svar, som også består af flere dele:
Dette billede viser et eksempel på et HTTP-svar, som en server sender tilbage til en klient. Første linje angiver protokolversionen HTTP/1.1, hvilket bekræfter, at det er samme version som blev brugt i anmodningen. Herefter følger statuskoden 200 OK, hvilket angiver, at anmodningen var vellykket, og at serveren returnerer de anmodede data.
Headers giver yderligere oplysninger om det indhold, der sendes. For eksempel angiver Content-Type: text/html; charset=UTF-8, at indholdet er et HTML-dokument kodet i UTF-8. Content-Length: 3056 angiver størrelsen på indholdet i bytes, mens Server: Apache/2.4.41 (Ubuntu) giver information om den webserver, der behandlede anmodningen.
Svarkroppen indeholder den faktiske HTML-kode for den side, der leveres til klienten, hvilket i dette tilfælde er et simpelt HTML-dokument med en header og en velkomstbesked.
1. Hvad er HTTP?
2. Hvilken HTTP-metode bruges til at sende data til serveren for at oprette en ny ressource?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain more about the different HTTP methods and when to use each one?
What is the difference between a GET and a POST request?
How does the client-server interaction work in practice?
Awesome!
Completion rate improved to 3.45
Hvordan HTTP Fungerer
Stryg for at vise menuen
Du har måske undret dig over, hvordan dine forespørgsler behandles, og hvordan sider med data indlæses afhængigt af den URL, du indtaster i din browser. HTTP-protokollen hjælper os med denne proces.
Hvad menes der med en klient? I forbindelse med HTTP refererer en klient til et program eller en enhed, der initierer forespørgsler til en server for at hente data eller ressourcer. Oftest er klienten en webbrowser (såsom Chrome, Firefox eller Safari), som du bruger til at få adgang til websites.
Serverens svar kan være i forskellige formater. Du kan modtage en HTML-side, som din browser vil vise, eller du kan sende og modtage information i JSON- eller XML-formater (som vi vil gennemgå senere).
Eksempel
Her er et eksempel fra virkeligheden: Forestil dig, at du bestiller mad på en restaurant. Du (som klient) afgiver en bestilling til tjeneren (sender en forespørgsel), og tjeneren videresender din bestilling til køkkenet (serveren). Derefter tilbereder køkkenet din mad, og tjeneren bringer den tilbage til dig (returnerer et svar).
I dette eksempel er du webbrowseren, tjeneren er HTTP-protokollen, og køkkenet er serveren, der behandler forespørgsler og sender svar.
HTTP-metoder
HTTP-metoder definerer, hvilke handlinger der skal udføres på ressourcer på serveren. De vigtigste metoder omfatter:
GET
Anvendes til at hente data fra serveren. For eksempel, når du åbner en webside, sender din browser en GET-anmodning for at indlæse indholdet.
Forestil dig, at du går til et bibliotek og beder bibliotekaren (dvs. serveren) om at finde en bog (dvs. ressourcen). Bibliotekaren går til hylden, henter bogen og giver den til dig.
Når du åbner en webside, sender din browser en GET-anmodning for at "anmode" serveren om at levere siden, ligesom du ville anmode om en bog på biblioteket.
POST
Sender data til serveren for at oprette en ny ressource. Denne metode anvendes ofte til at indsende formularoplysninger, såsom registreringsdetaljer eller kommentarer.
For eksempel indsender du en ansøgning om et pas, og den relevante afdeling opretter en ny post baseret på dine oplysninger.
På samme måde, når du indsender data via en formular på et website (såsom registreringsdetaljer), sender en POST-anmodning disse data til serveren for at oprette en ny ressource.
PUT
Bruges til at opdatere eksisterende ressourcer på serveren. Denne metode gør det muligt at ændre data på serveren baseret på de angivne oplysninger.
Det svarer til at opdatere et eksisterende dokument. I web-sammenhæng anvendes en PUT-anmodning til at erstatte eller opdatere en eksisterende ressource på serveren. For eksempel kan du opdatere oplysninger om din brugerprofil.
DELETE
Anvendes til at fjerne ressourcer fra serveren. For eksempel kan denne metode bruges til at slette en brugerprofil eller et forumpost.
Forestil dig, at en virksomhed beslutter at fjerne en forældet kontrakt fra sit arkiv. En medarbejder lokaliserer dokumentet og sletter det fra databasen.
PATCH
Bruges til delvise opdateringer af en ressource på serveren. I modsætning til en PUT anmodning, som erstatter hele ressourcen, anvendes PATCH, når kun en del af ressourcen skal ændres.
For eksempel, hvis du ønsker at opdatere en brugers e-mailadresse i deres profil, kan du bruge en PATCH anmodning til kun at ændre email-feltet.
HEAD
Bruges til kun at anmode om headers for en ressource uden at hente dens indhold.
I en webkontekst anvendes en HEAD-anmodning til at indhente metadata om en ressource. For eksempel kan den bruges til at kontrollere, om en side er blevet ændret siden sidste besøg, eller til at verificere eksistensen af en fil på serveren før download.
Hvordan fungerer dette i praksis?
Anmodning
Når du indtaster en URL (codefinity.com) i søgefeltet, forventer du at modtage en side med information som svar.
For at en side kan vises, sender din browser (klienten) en anmodning til serveren i følgende format:
Dette billede illustrerer et eksempel på en HTTP-anmodning, som en klient (såsom en browser) sender til en server. Anmodningen bruger GET-metoden, hvilket angiver over for serveren, at klienten ønsker at hente data (i dette tilfælde forsiden /). Protokolversionen er angivet som HTTP/1.1.
Headers giver yderligere information: Host angiver, at anmodningen er rettet mod serveren på codefinity.com, User-Agent giver detaljer om typen af klient (browser), der foretager anmodningen, og Accept-Language angiver det foretrukne sprog for svaret — engelsk. Da dette er en GET-anmodning, er der ingen body, da der ikke er behov for at sende data til serveren.
Svar
Efter at have modtaget anmodningen sender serveren et HTTP-svar, som også består af flere dele:
Dette billede viser et eksempel på et HTTP-svar, som en server sender tilbage til en klient. Første linje angiver protokolversionen HTTP/1.1, hvilket bekræfter, at det er samme version som blev brugt i anmodningen. Herefter følger statuskoden 200 OK, hvilket angiver, at anmodningen var vellykket, og at serveren returnerer de anmodede data.
Headers giver yderligere oplysninger om det indhold, der sendes. For eksempel angiver Content-Type: text/html; charset=UTF-8, at indholdet er et HTML-dokument kodet i UTF-8. Content-Length: 3056 angiver størrelsen på indholdet i bytes, mens Server: Apache/2.4.41 (Ubuntu) giver information om den webserver, der behandlede anmodningen.
Svarkroppen indeholder den faktiske HTML-kode for den side, der leveres til klienten, hvilket i dette tilfælde er et simpelt HTML-dokument med en header og en velkomstbesked.
1. Hvad er HTTP?
2. Hvilken HTTP-metode bruges til at sende data til serveren for at oprette en ny ressource?
Tak for dine kommentarer!