Wat Is het verschil tussen HTTP-GET en HTTP POST?

Wat Is het verschil tussen HTTP-GET en HTTP POST?


Wanneer u een formulier verzendt, is een van twee methoden gebruikt achter de schermen om te verzenden dat formuliergegevens welke Web-pagina of de code is ontworpen om het te lezen. Afhankelijk van de omstandigheden zal de methode GET of POST. Allebei kunnen worden gebruikt om hetzelfde soort gegevens, maar er zijn duidelijke en belangrijke verschillen tussen GET en POST. Om redenen van doelmatigheid, bruikbaarheid en veiligheid, een bepaalde situatie meestal aangedrongen op een specifiek type formulier aanvraag.

KRIJGEN ten opzichte van POST

Strikt genomen is het verschil tussen GET en POST ligt in hoe de aanvragen moeten worden overgezet. KRIJGEN informatie wordt doorgegeven in de URL. Als u een URL die vraagtekens en ampersands opgenomen ooit gezien heb, je kijkt naar een GET-verzoek: example.com/request.php?var1=foo & var2 = bar is een GET-tekenreeks die de variabele "var1 codeert" als "foo" en de variabele "var2" als "balk." POST informatie is opgenomen in het hoofdgedeelte van de aanvraag, en is niet zichtbaar in de URL-reeks (en dus niet zichtbaar voor de gebruiker).

Formele richtsnoeren

Formeel, de HTML-richtsnoeren zeggen dat krijgen moeten worden gebruikt voor "idempotent" aanvragen, of aanvragen die niet om het even wat veranderen. Stel bijvoorbeeld een Web-pagina die uw lokale weer terug: "-example.com/weather.php?zipcode=12345". De handeling van het indienen van dat verzoek over en weer verandert om het even wat niet. POST moet worden gebruikt voor aanvragen die niet idempotent. Stel bijvoorbeeld dat u maakten een aankoop met uw credit card. Indienen van dat verzoek over en kan leiden tot enkele mooie grote veranderingen. Omdat een POST-aanvraag opnieuw heeft gevolgen (zelfs als ze kleine), webbrowsers meestal pop omhoog een verzoek voor de gebruiker om te bevestigen dat ze eigenlijk willen opnieuw de query van het formulier.

Voordelen van GET

GET heeft een aantal voordelen ten opzichte van de POST. Omdat GET is gecodeerd als deel van een URL, kunt u knippen en plakken en vervolgens die URL delen met het andere mensen. GET verzoeken ook kunnen zijn bookmarked. Als u regelmatig uw weer te controleren, kon u "-example.com/weather.php?zipcode=12345" toevoegen aan de werkbalk van de "favorieten" van uw browser, zodat uw gepersonaliseerde weer-pagina te klikken op deze link automatisch wordt geladen. Omdat GET-aanvragen zijn zichtbaar (en bewerkbare) door de gebruiker, ze kunnen ook worden gehackt. Bijvoorbeeld, als de site weer niet een voor de hand liggende manier bieden om de locatie van het verzoek weer wijzigen, kunt u wijzigen handmatig in "12345" "99762" te kijken naar het weer in Nome, Alaska in plaats van het weer in Schenectady.

Wanneer gebruikt u POST

Zelfs in situaties die idempotent, heeft POST af en toe duidelijk toepassingen. Sommige van deze zijn gebaseerd op veiligheid of wettigheid. GET variabelen worden doorgegeven "in de duidelijke," zodat u niet verzenden wilt, creditcardgegevens, sofinummers, wachtwoorden of gevoelige gebruikersgegevens via Ontvang. Omdat POST-gegevens is verduisterd, is het in die situaties de voorkeur verdient. POST wordt ook gebruikt voor het verzenden van grote hoeveelheden gegevens, zelfs als deze gegevens niet gevoelig. Technisch, URL's (en dus GET variabelen) kunnen van onbeperkte lengte. Maar omdat veel browsers beperken hoeveel ruimte een URL kan duren, GET wordt meestal beschouwd als alleen geschikt voor relatief korte verzoeken.