Passa al contenuto principale

4.5. Utilizzo dei metodi HTTP

4.5. Utilizzo dei metodi HTTP

Le applicazioni che utilizzano HTTP DEVONO conformarsi alla semantica dei metodi che utilizzano, come definito in [HTTP]. POSSONO definire nuovi metodi, ma se lo fanno, DEVONO registrarli seguendo la procedura in [HTTP] Sezione 16.1.

I nuovi metodi sono rari; sono necessari solo quando la semantica di nessun metodo esistente consente ciò che è necessario. Solitamente, è sufficiente definire un nuovo Content-Type per i corpi delle richieste e/o una relazione Link nelle risposte per disambiguare la semantica.

Ad esempio, se un'applicazione vuole definire un'operazione per "rilocare" una risorsa, sarebbe inappropriato definire un nuovo metodo RELOCATE perché PUT può già essere utilizzato per cambiare lo stato di una risorsa (fornendo una nuova rappresentazione contenente la posizione aggiornata).

Quando si specifica l'uso dei metodi, è importante considerare le varie proprietà che hanno, come sicurezza, idempotenza e capacità di caching.

Le applicazioni DOVREBBERO utilizzare i metodi HTTP esistenti ove possibile. In particolare:

  • GET DOVREBBE essere utilizzato per operazioni che sono sicure e cacheable (secondo [HTTP] Sezioni 9.2.1 e 15.4).

  • HEAD DOVREBBE essere supportato ovunque GET lo sia.

  • POST DOVREBBE essere utilizzato per operazioni che non sono né sicure né idempotenti.

  • PUT DOVREBBE essere utilizzato per operazioni che memorizzano la rappresentazione allegata sotto l'URL fornito, sostituendo qualsiasi rappresentazione esistente.

  • DELETE DOVREBBE essere utilizzato per operazioni che rimuovono la risorsa identificata dall'URL.

Vedere Sezione 4.5.1 e Sezione 4.5.2 per considerazioni aggiuntive quando si utilizzano GET e OPTIONS.