Allow
Utilisation
Les serveurs incluent Allow pour indiquer quelles méthodes de requête une ressource prend en charge. Cet en-tête est obligatoire dans les réponses 405 Method Not Allowed, par lesquelles le serveur informe le client des méthodes valides pour l’URI demandé.
L’en-tête apparaît également dans les réponses aux requêtes OPTIONS. Une requête OPTIONS demande au serveur de décrire les options de communication disponibles pour une ressource, et Allow fournit dans la réponse la liste des méthodes autorisées.
La valeur est une liste de noms de méthodes HTTP standards, séparés par des virgules. Cette liste reflète les méthodes acceptées par la ressource au moment de la réponse. Un en-tête Allow vide signale qu’aucune méthode n’est acceptée pour l’instant, ce qui se produit lorsqu’un serveur restreint temporairement l’accès à une ressource.
L’en-tête Allow décrit la ressource cible, et non le serveur dans son ensemble. Différentes ressources d’un même serveur prennent souvent en charge des ensembles de méthodes différents. Un point de terminaison de collection peut accepter GET et POST, tandis qu’une ressource individuelle prend en charge GET, PUT et DELETE.
method-list
Une liste de noms de méthodes HTTP séparés par des virgules. Les valeurs courantes incluent :
Allow: GET, HEAD, POST
Exemple
Un client envoie une requête DELETE à une ressource qui ne prend en charge que GET et POST. Le serveur répond avec 405 et inclut l’en-tête Allow énumérant les méthodes valides.
HTTP/1.1 405 Method Not Allowed
Allow: GET, POST
Content-Type: application/json
Une réponse à une requête OPTIONS indique toutes les méthodes acceptées par la ressource. La méthode HEAD est implicitement disponible dès lors que GET est pris en charge.
HTTP/1.1 200 OK
Allow: GET, HEAD, PUT, DELETE
Content-Length: 0
Une réponse 201 Created faisant suite à un POST inclut Allow pour indiquer les méthodes disponibles sur la ressource nouvellement créée.
HTTP/1.1 201 Created
Location: /items/42
Allow: GET, PUT, DELETE