2013-04-08 11 views
8

Sto costruendo un'API RESTful. Quando il client utilizza un metodo non supportato, come POST su una risorsa che non lo supporta, torno un 405 con la Allow intestazione che elenca le modalità consentite:È possibile che una risposta di stato HTTP 405 abbia un corpo?

Status Code: 405 Method Not Allowed 
Allow: GET, HEAD, OPTIONS 
Connection: keep-alive 
Date: Mon, 08 Apr 2013 00:19:26 GMT 
Transfer-Encoding: chunked 

E 'permesso di avere un corpo (per fornire un messaggio di errore) per le risposte 405?

Da w3c's site, non è chiaro se un corpo è autorizzato per le risposte 405.

risposta

11

The HTTP/1.1 protocol spec states in the "message length" section:

Qualsiasi messaggio di risposta che "NON DEVE" includere un messaggio-corpo (la 1xx, 204, e 304 risposte e qualsiasi risposta ad una richiesta HEAD) è sempre termina con la prima riga vuota dopo i campi dell'intestazione, indipendentemente dai campi dell'intestazione dell'entità presenti nel messaggio.

Un corpo di messaggio è facoltativo per tutti i codici 4xx-5xx purché il metodo HTTP non sia HEAD.

+0

Il collegamento non punta alla sezione destra della specifica. La citazione proviene dalla sezione 4.4: https://tools.ietf.org/html/rfc2616#section-4.4 –