HTML-forespällningsmetoder

Vad är HTTP?

Hypertext Transfer Protocol (Hypertext Transfer Protocol, förkortat HTTP) är avsett att möjliggöra kommunikation mellan klient och server.

HTTP fungerar som en förfrågnings-svar-protokoll mellan klient och server.

Exempel: Klienten (webbläsaren) skickar en HTTP-forespällning till servern; sedan returnerar servern svaret till klienten. Svaret innehåller information om tillståndet för förespålet, och kan också innehålla det efterfrågade innehållet.

HTTP-metoder

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

De mest använda metoderna är: GET och POST.

GET-metoden

GET används för att hämta data från en specifik resurs.

GET är en av de mest använda HTTP-metoderna.

Observera att söksträngen (namn/värdepar) skickas i GET-forespåranns URL:

/test/demo_form.php?name1=value1&name2=value2

Några andra kommentarer om GET-forespåran:

  • GET-forespåran kan cachas
  • GET-forespåran sparas i webbläsarens historik
  • GET-forespåran kan sparas som bokmärke
  • GET-forespåran bör inte användas för att hantera känslig data
  • GET-forespåran har en längdsbegränsning
  • GET-forespåran bör endast användas för att hämta data (inte modifiera)

POST-metoden

POST används för att skicka data till servern för att skapa/uppdatera en resurs.

Data som skickas till servern via POST lagras i HTTP-forespåranns kravbody:

POST /test/demo_form.php HTTP/1.1
Host: codew3c.com
name1=value1&name2=value2

POST är en av de mest använda HTTP-metoderna.

Några andra kommentarer om POST-forespåran:

  • POST-forespåran kommer inte att cachas
  • POST-forespåran kommer inte att sparas i webbläsarens historik
  • POST kan inte sparas som bokmärke
  • POST-forespåran har inga krav på datalängd

PUT-metoden

PUT används för att skicka data till servern för att skapa/uppdatera en resurs.

Skillnaden mellan POST och PUT är att PUT-forespåran är idempotent (idempotent). Det innebär att flera anrop av samma PUT-forespåra alltid kommer att ge samma resultat. Åtväart, har upprepade anrop av POST-forespåran effekten att skapa samma resurs flera gånger.

HEAD-metoden

HEAD är nästan samma som GET, men utan svarskropp.

Med andra ord, om GET /users returnerar en användarlista, kommer HEAD /users att skicka samma förfrågan, men kommer inte att returnera en användarlista.

HEAD-forespärrar är användbara för att kontrollera innehållet som GET-forespårrar kommer att returnera innan de sänds (t.ex. innan stora filer laddas ner eller innan svarstexten skickas).

DELETE-metoden

DELETE-metoden tar bort den specificerade resursen.

OPTIONS-metoden

OPTIONS-metoden beskriver kommunikationsalternativen för måltillgången.

Jämför GET med POST

Nedanstående tabell jämför två HTTP-metoder: GET och POST.

  GET POST
Återgå-knappen/Återställ Harmlös Data kommer att skickas in igen (webbläsaren bör informera användaren att data kommer att skickas in igen).
Bokmärke Kan sparas som bokmärke Kan inte sparas som bokmärke
Cachning Kan lagras Kan inte cachas
Kodningstyp application/x-www-form-urlencoded application/x-www-form-urlencoded eller multipart/form-data. Använd multipl encodning för binärdata.
Historik Parametrarna sparas i webbläsarens historik. Parametrarna sparas inte i webbläsarens historik.
Begränsningar för datalängd Ja. När data skickas lägger GET-metoden data till URL:en; URL:ens längd är begränsad (URL:s maximala längd är 2048 tecken). Inga begränsningar.
Begränsningar för datatyp Endast ASCII-tecken tillåts. Inga begränsningar. Tillåter också binärdata.
Säkerhet

Samtidigt som GET har sämre säkerhet jämfört med POST, eftersom de skickade data är en del av URL:en.

Använd aldrig GET för att skicka lösenord eller annan känslig information!

POST är säkrare än GET, eftersom parametrarna inte sparas i webbläsarens historik eller webbserverns loggar.
Synlighet Data är synliga för alla i URL:en. Data kommer inte att visas i URL:en.