Wat is PUT?
De PUT-methode wordt gebruikt om de bronnen die op de server beschikbaar zijn, bij te werken. Meestal vervangt het alles wat op de doel-URL bestaat door iets anders. U kunt het gebruiken om een nieuwe bron te maken of om een bestaande te overschrijven. PUT vraagt dat de ingesloten entiteit moet worden opgeslagen onder de opgegeven gevraagde URI (Uniform Resource Identifier).
In deze tutorial leer je:
- Wat is PUT?
- Wat is POST?
- Voorbeeld van PUT
- Voorbeeld van POST
- Verschil tussen PUT en POST
- Een API testen met PUT-verzoeken
- Testen van een API met POST-verzoeken
- Voordelen van de PUT-methode
- Voordelen van de POST-methode
Wat is POST?
POST is een methode die wordt ondersteund door HTTP en
geeft aan dat een webserver de gegevens accepteert die zijn opgenomen in de hoofdtekst van het gevraagde bericht. POST wordt vaak gebruikt door World Wide Web om door gebruikers gegenereerde gegevens naar de webserver te sturen of wanneer u een bestand uploadt.
BELANGRIJKSTE VERSCHILLEN:
- De PUT-methode wordt aangeroepen wanneer u een enkele bron moet wijzigen, terwijl de POST-methode wordt aangeroepen wanneer u een onderliggende bron moet toevoegen.
- Het antwoord van de PUT-methode kan in de cache worden opgeslagen, maar u kunt de reacties van de PUT-methode niet in het cachegeheugen opslaan.
- U kunt UPDATE-query gebruiken in PUT, terwijl u query maken in POST kunt gebruiken.
- In de PUT-methode beslist de client welke URI-bron zou moeten hebben, en in de POST-methode beslist de server welke URI-bron zou moeten hebben.
- PUT werkt zo specifiek terwijl POST werkt als abstract.
- Als u hetzelfde PUT-verzoek meerdere keren verzendt, blijft het resultaat hetzelfde, maar als u hetzelfde POST-verzoek meerdere keren verzendt, ontvangt u verschillende resultaten.
- De PUT-methode is idempotent, terwijl de POST-methode niet idempotent is.
Voorbeeld van PUT
Hier is het webservervoorbeeld van een PUT-methode:
HTTP PUT http://www.google.com/users/234
HTTP PUT http://www.google.com/users/234/accounts/567
Verzoek
PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20New File
Reacties
Als de doelbron een huidige weergave heeft en wordt gewijzigd met de status van de bijgevoegde weergave, dan moet de server twee antwoorden verzenden. De eerste antwoordcode is 200 (OK) en de tweede antwoordcode is 204 (Geen inhoud).
Als de doelbron geen representatie heeft, moet de server de gebruiker informeren door een 201 code (aangemaakt) antwoord te verzenden.
HTTP/1.1 201 CreatedContent-Location: /new.html
Voorbeeld van POST
Hier is een voorbeeld van de POST-methode:
HTTP POST http://www.google.com/users
HTTP POST http://www.google.com/users/234/accounts
Een formulier dat het standaard inhoudstype application / x-www-form-urlencoded gebruikt:
POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2
Verschil tussen PUT en POST
Hier is het belangrijke verschil tussen de PUT- en POST-methode:
ZETTEN | POST |
Deze methode is idempotent. | Deze methode is niet idempotent. |
De PUT-methode is een aanroep wanneer u een enkele bron moet wijzigen, die al deel uitmaakt van de bronverzameling. | POST-methode is aanroep wanneer u een onderliggende bron moet toevoegen onder bronnenverzameling. |
RFC-2616 geeft weer dat de PUT-methode een verzoek verzendt voor een ingesloten entiteit die is opgeslagen in de geleverde verzoek-URI. | Deze methode vraagt de server om de entiteit te accepteren die is ingesloten in het verzoek. |
De syntaxis van de PUT-methode is PUT / vragen / {vraag-id} | De syntaxis van de POST-methode is POST / vragen |
Het antwoord van de PUT-methode kan in de cache worden opgeslagen. | U kunt de reacties van de PUT-methode niet in het cachegeheugen opslaan. |
PUT / vi / juice / orders / 1234 geeft aan dat u een bron bijwerkt die wordt aangeduid met "1234". | POST / vi / juice / orders geeft aan dat u een nieuwe bron aanmaakt en retourneert een identificatie om de bron te beschrijven. |
Als u hetzelfde verzoek meerdere keren verzendt, blijft het resultaat hetzelfde. | Als u hetzelfde POST-verzoek meerdere keren verzendt, ontvangt u verschillende resultaten. |
PUT werkt zo specifiek. | POST het werk als abstract. |
We gebruiken de UPDATE-query in PUT. | We gebruiken een query maken in POST. |
In de PUT-methode beslist de client welke URI-bron moet hebben. | Bij de POST-methode beslist de server welke URI-bron moet hebben. |
Een API testen met PUT-verzoeken
Hier zijn de stappen om de API met PUT-verzoeken te testen:
Stap 1) Werk bronnen bij met een PUT-verzoek.
Stap 2) Gebruik de GET-methode voor resource. Als het PUT-verzoek is gelukt, ontvangt u nieuwe gegevens. Deze methode zal mislukken als de verstrekte gegevens in het verzoek ongeldig zijn. Daarom zal het niets updaten.
Testen van een API met POST-verzoeken
Hier zijn de stappen om de API met POST-verzoeken te testen:
Stap 1) Maak een bron met behulp van een POST-verzoek en zorg ervoor dat deze de statuscode 200 retourneert.
Stap 2) Maak een GET-verzoek voor die bron en sla de gegevens op in het juiste formaat.
Stap 3) U moet tests toevoegen die ervoor zorgen dat POST-verzoeken mislukken met onjuiste gegevens.
Voordelen van de PUT-methode
Hier zijn de voor- / voordelen van het gebruik van de PUT-methode:
- Het helpt je om de aangeleverde entiteit onder de aangeleverde URI op te slaan
- Als de opgegeven entiteit al bestaat, kunt u de updatebewerking uitvoeren of u kunt met die URI maken.
- U kunt een bron zo vaak maken als u wilt.
- Het maken van een bron met de PUT-methode is heel eenvoudig.
- U hoeft niet te controleren of de gebruiker meerdere keren op de verzendknop heeft geklikt of niet.
- Het kan de entiteit identificeren die bij het verzoek is gevoegd.
Voordelen van de POST-methode
Hier zijn de voor- / voordelen van het gebruik van de POST-methode:
- Deze methode helpt u om de resource-URI te bepalen.
- Het specificeren van een nieuwe bronlocatieheader is heel eenvoudig met de locatiekop.
- U kunt een verzoek sturen om de entiteit te accepteren als een nieuwe ondergeschikte van de bron, die wordt geïdentificeerd door de URI.
- U kunt door gebruikers gegenereerde gegevens naar de webserver verzenden.
- Het is erg handig als u de URL niet kent om een bron te behouden.
- Gebruik POST wanneer u de server nodig heeft, die het genereren van URL's van uw bronnen regelt.
- POST is een veilige methode omdat de verzoeken niet in de browsergeschiedenis blijven.
- U kunt moeiteloos een grote hoeveelheid gegevens verzenden met behulp van post.
- U kunt de gegevens privé houden.
- Deze methode kan worden gebruikt om zowel binaire als ASCII-gegevens te verzenden.