Cos'è PUT?
Il metodo PUT viene utilizzato per aggiornare la risorsa disponibile sul server. In genere, sostituisce ciò che esiste nell'URL di destinazione con qualcos'altro. Puoi usarlo per creare una nuova risorsa o sovrascriverne una esistente. PUT richiede che l'entità racchiusa debba essere archiviata sotto l'URI richiesto fornito (Uniform Resource Identifier).
In questo tutorial imparerai:
- Cos'è PUT?
- Cos'è il POST?
- Esempio di PUT
- Esempio di POST
- Differenza tra PUT e POST
- Test di un'API con richieste PUT
- Test di un'API con richieste POST
- Vantaggi del metodo PUT
- Vantaggi del metodo POST
Cos'è il POST?
POST è un metodo supportato da HTTP e
raffigura che un server web accetta i dati inclusi nel corpo del messaggio, che viene richiesto. Il POST viene spesso utilizzato dal World Wide Web per inviare i dati generati dagli utenti al server Web o quando si carica un file.
PRINCIPALI DIFFERENZE:
- Il metodo PUT viene chiamato quando devi modificare una singola risorsa mentre il metodo POST viene chiamato quando devi aggiungere una risorsa figlia.
- La risposta del metodo PUT può essere memorizzata nella cache ma non è possibile memorizzare nella cache le risposte del metodo PUT.
- È possibile utilizzare la query UPDATE in PUT mentre è possibile utilizzare la query di creazione in POST.
- Nel metodo PUT, il client decide quale risorsa URI dovrebbe avere e nel metodo POST, il server decide quale risorsa URI dovrebbe avere.
- PUT funziona in modo specifico mentre POST funziona come astratto.
- Se invii la stessa richiesta PUT più volte, il risultato rimarrà lo stesso, ma se invii la stessa richiesta POST più volte, riceverai risultati diversi.
- Il metodo PUT è idempotente mentre il metodo POST non è idempotente.
Esempio di PUT
Ecco l'esempio del server web di un metodo PUT:
HTTP PUT http://www.google.com/users/234
HTTP PUT http://www.google.com/users/234/accounts/567
Richiesta
PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20New File
Risposte
Se la risorsa di destinazione ha la rappresentazione corrente e viene modificata con lo stato della rappresentazione inclusa, il server dovrebbe inviare due risposte. Il primo codice di risposta è 200 (OK) e il secondo codice di risposta è 204 (Nessun contenuto).
Se la risorsa di destinazione non ha alcuna rappresentazione, il server dovrebbe informare l'utente inviando una risposta di codice 201 (Creato).
HTTP/1.1 201 CreatedContent-Location: /new.html
Esempio di POST
Ecco un esempio del metodo POST:
HTTP POST http://www.google.com/users
HTTP POST http://www.google.com/users/234/accounts
Un modulo che utilizza il tipo di contenuto predefinito application / x-www-form-urlencoded:
POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2
Differenza tra PUT e POST
Ecco l'importante differenza tra il metodo PUT e POST:
METTERE | INVIARE |
Questo metodo è idempotente. | Questo metodo non è idempotente. |
Il metodo PUT viene chiamato quando è necessario modificare una singola risorsa, che fa già parte della raccolta di risorse. | Il metodo POST viene chiamato quando è necessario aggiungere una risorsa figlio nella raccolta di risorse. |
RFC-2616 descrive che il metodo PUT invia una richiesta per un'entità racchiusa archiviata nell'URI di richiesta fornito. | Questo metodo richiede al server di accettare l'entità racchiusa nella richiesta. |
La sintassi del metodo PUT è PUT / questions / {question-id} | La sintassi del metodo POST è POST / domande |
La risposta del metodo PUT può essere memorizzata nella cache. | Non è possibile memorizzare nella cache le risposte del metodo PUT. |
PUT / vi / juice / orders / 1234 indica che stai aggiornando una risorsa identificata da "1234". | POST / vi / juice / orders indica che stai creando una nuova risorsa e restituisci un identificatore per descrivere la risorsa. |
Se invii la stessa richiesta più volte, il risultato rimarrà lo stesso. | Se invii la stessa richiesta POST più di una volta, riceverai risultati diversi. |
PUT funziona come specifico. | POST funziona come abstract. |
Usiamo la query UPDATE in PUT. | Usiamo create query in POST. |
Nel metodo PUT, il client decide quale risorsa URI dovrebbe avere. | Nel metodo POST, il server decide quale risorsa URI dovrebbe avere. |
Test di un'API con richieste PUT
Ecco i passaggi per testare l'API con le richieste PUT:

Passaggio 1) Aggiorna le risorse con la richiesta PUT.
Passaggio 2) Utilizzare il metodo GET per la risorsa. Se la richiesta PUT ha esito positivo, riceverai nuovi dati. Questo metodo fallirà se i dati forniti nella richiesta non sono validi. Pertanto, non aggiornerà nulla.
Test di un'API con richieste POST
Ecco i passaggi per testare l'API con le richieste POST:

Passaggio 1) Crea una risorsa utilizzando la richiesta POST e assicurati che restituisca un codice di stato 200.
Passaggio 2) Effettuare una richiesta GET per quella risorsa e salvare i dati nel formato corretto.
Passaggio 3) È necessario aggiungere test che assicurino che le richieste POST falliscano con dati errati.
Vantaggi del metodo PUT
Ecco i vantaggi / vantaggi dell'utilizzo del metodo PUT:
- Ti aiuta a memorizzare l'entità fornita sotto l'URI fornito
- Se l'entità fornita esiste già, puoi eseguire l'operazione di aggiornamento oppure puoi creare con quell'URI.
- Puoi creare una risorsa tutte le volte che vuoi.
- Creare una risorsa con il metodo PUT è molto semplice.
- Non è necessario verificare se l'utente ha fatto clic più volte sul pulsante di invio o meno.
- Può identificare l'entità allegata alla richiesta.
Vantaggi del metodo POST
Ecco i vantaggi / vantaggi dell'utilizzo del metodo POST:
- Questo metodo ti aiuta a determinare l'URI della risorsa.
- Specificare una nuova intestazione della posizione della risorsa è molto semplice utilizzando l'intestazione della posizione.
- È possibile inviare una richiesta per accettare l'entità come nuovo subordinato della risorsa, identificato dall'URI.
- È possibile inviare dati generati dagli utenti al server web.
- È molto utile quando non conosci l'URL per conservare alcuna risorsa.
- Usa POST quando hai bisogno del server, che controlla la generazione dell'URL delle tue risorse.
- POST è un metodo sicuro in quanto le sue richieste non rimangono nella cronologia del browser.
- Puoi trasmettere facilmente una grande quantità di dati utilizzando la posta.
- Puoi mantenere i dati privati.
- Questo metodo può essere utilizzato per inviare dati binari e ASCII.