Diciamo che ho una risorsa chiamata "Session". Il client chiamerebbe PUT per creare e iniziare una nuova sessione. Quando il client ha terminato la sessione, non dovrebbe più essere accessibile, ma dovrebbe persistere per ragioni storiche/di responsabilità.Metodi HTTP: DELETE vs POST
Per terminare la sessione, sarebbe più appropriato emettere una richiesta DELETE, che sembrerebbe semanticamente più vicina all'effetto desiderato, o POST, visto che la risorsa non viene effettivamente rimossa in modo permanente?
Cosa succede se la risorsa "appare" per essere cancellata, dal punto di vista del cliente? Nel mio esempio, la richiesta sarebbe idempotente, perché chiamarla una seconda volta non avrebbe alcun effetto collaterale e l'emissione di una richiesta GET sulla sessione fallirebbe. –