HTTP -verzoekmethoden


Wat is HTTP?

Het Hypertext Transfer Protocol (HTTP) is ontworpen om communicatie tussen clients en servers mogelijk te maken.

HTTP werkt als een request-response-protocol tussen een client en server.

Voorbeeld: Een client (browser) stuurt een HTTP-verzoek naar de server; vervolgens stuurt de server een antwoord naar de client. Het antwoord bevat statusinformatie over het verzoek en kan ook de gevraagde inhoud bevatten.


HTTP-methoden

  • KRIJGEN
  • NA
  • ZETTEN
  • HOOFD
  • VERWIJDEREN
  • LAPJE
  • OPTIES

De twee meest voorkomende HTTP-methoden zijn: GET en POST.


De GET-methode

GET wordt gebruikt om gegevens van een opgegeven bron op te vragen.

GET is een van de meest voorkomende HTTP-methoden.

Merk op dat de queryreeks (naam/waarde-paren) wordt verzonden in de URL van een GET-verzoek:

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

Enkele andere opmerkingen over GET-verzoeken:

  • GET-verzoeken kunnen in de cache worden opgeslagen
  • GET-verzoeken blijven in de browsergeschiedenis
  • GET-verzoeken kunnen worden gemarkeerd als bladwijzer
  • GET-verzoeken mogen nooit worden gebruikt bij het omgaan met gevoelige gegevens
  • GET-verzoeken hebben lengtebeperkingen
  • GET-verzoeken worden alleen gebruikt om gegevens op te vragen (niet wijzigen)

De POST-methode

POST wordt gebruikt om gegevens naar een server te verzenden om een ​​bron aan te maken/bij te werken.

De gegevens die met POST naar de server worden verzonden, worden opgeslagen in de verzoektekst van het HTTP-verzoek:

POST /test/demo_form.php HTTP/1.1
Host: w3schools.com

name1=value1&name2=value2

POST is een van de meest gebruikte HTTP-methoden.

Enkele andere opmerkingen over POST-verzoeken:

  • POST-verzoeken worden nooit in de cache opgeslagen
  • POST-verzoeken blijven niet in de browsergeschiedenis
  • POST-verzoeken kunnen niet worden gemarkeerd als bladwijzer
  • POST-verzoeken hebben geen beperkingen op gegevenslengte


De PUT-methode

PUT wordt gebruikt om gegevens naar een server te sturen om een ​​bron aan te maken/bij te werken.

Het verschil tussen POST en PUT is dat PUT-verzoeken idempotent zijn. Dat wil zeggen, hetzelfde PUT-verzoek meerdere keren aanroepen zal altijd hetzelfde resultaat opleveren. Daarentegen heeft het herhaaldelijk oproepen van een POST-verzoek bijwerkingen van het meerdere keren maken van dezelfde bron.


De HEAD-methode

HEAD is bijna identiek aan GET, maar zonder de responsbody.

Met andere woorden, als GET /users een lijst met gebruikers retourneert, dan zal HEAD /users hetzelfde verzoek doen, maar niet de lijst met gebruikers retourneren.

HEAD-verzoeken zijn handig om te controleren wat een GET-verzoek zal retourneren voordat u daadwerkelijk een GET-verzoek doet, zoals voordat u een groot bestand of een antwoordtekst downloadt.


De DELETE-methode

De DELETE-methode verwijdert de opgegeven resource.


De OPTIES-methode:

De OPTIONS-methode beschrijft de communicatie-opties voor de doelbron.


Vergelijk GET versus POST

De volgende tabel vergelijkt de twee HTTP-methoden: GET en POST.

  GET POST
BACK button/Reload Harmless Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted)
Bookmarked Can be bookmarked Cannot be bookmarked
Cached Can be cached Not cached
Encoding type application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data
History Parameters remain in browser history Parameters are not saved in browser history
Restrictions on data length Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) No restrictions
Restrictions on data type Only ASCII characters allowed No restrictions. Binary data is also allowed
Security GET is less secure compared to POST because data sent is part of the URL

Never use GET when sending passwords or other sensitive information!
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs
Visibility Data is visible to everyone in the URL Data is not displayed in the URL