Dovrei restituire un 410 andato in risposta a una richiesta di cancellazione HTTP di successo?
-
21-12-2019 - |
Domanda
Sto implementendo il supporto Elimina su un API di riposo (Build on ServerSestack) e chiedendosi quale codice di risposta per tornare a seguito di un eliminazione riuscita.
http definisce 410 come:
.La risorsa richiesta non è più disponibile sul server e non è noto alcun indirizzo di inoltro. Questa condizione dovrebbe essere considerata permanente. I client con funzionalità di modifica del collegamento dovrebbero eliminare i riferimenti all'URI di richiesta dopo l'approvazione dell'utente. Se il server non conosce o non ha alcuna possibilità di determinare, se la condizione è permanente o meno, il codice di stato 404 (non trovato) deve essere utilizzato. Questa risposta è la cocheabile a meno che non sia indicato diversamente.
Ora, se una risorsa è stata appena generatodicatagcoded, probabilmente voglio molte di quelle raccomandazioni da applicare ... ma la pratica accettata sembra restituire un DELETE
a seguito di un 200 OK
di successo, soprattutto dal momento che il DELETE
range dovrebbe denunciare errore Condizioni.
Qualsiasi argomento convincente in un modo o di un altro oltre alle linee guida nella specifica HTTP?
Soluzione
RFC 2616 Sezione 9.7 specificamente afferma quanto seguePer quanto riguarda la risposta per DELETE
:
.Una risposta riuscita dovrebbe essere 200 (OK) se il la risposta include un'entità che descrive lo stato, 202 (accettato) se l'azione non è stata ancora emanato o 204 (nessun contenuto) se l'azione è stata emanato ma la risposta non include un'entità.