HTTP Allow Header

Der HTTP-Header Allow ist ein Response-Header, der die HTTP-Methoden auflistet, die für eine bestimmte Ressource unterstützt werden. Er wird in 405 Method Not Allowed Responses und typischerweise auch bei OPTIONS-Requests verwendet.

Typ

Response-Header

Syntax

Der Header listet die unterstützten HTTP-Methoden als kommaseparierte Liste auf.

http
Allow: GET, HEAD, OPTIONS
Allow: GET, POST, PUT, DELETE, PATCH

Direktiven

Die Direktiven listen alle unterstützten HTTP-Methoden für die Ressource auf.

<method>
Name einer unterstützten HTTP-Methode (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS). Case-sensitive, mehrere Werte kommasepariert.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Allow-Header.

Beispiel 1 Read-Only Ressource

http
Allow: GET, HEAD, OPTIONS

Ressource unterstützt nur lesende Zugriffe, keine Modifikationen möglich.

Beispiel 2 Vollstaendige CRUD-Ressource

http
Allow: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS

RESTful API-Endpoint unterstützt alle CRUD-Operationen und Discovery-Methoden.

Beispiel 3 Method Not Allowed Response

http
HTTP/1.1 405 Method Not Allowed
Allow: GET, POST
Content-Type: application/json

{"error": "DELETE not supported on this resource"}

Server lehnt DELETE-Request ab und informiert Client über erlaubte Methoden.

OPTIONS Discovery Flow

OPTIONS Request zur API-Discovery mit Allow-Header

Vorteile für die Systemarchitektur

  • API-Discovery: Clients können programmatisch ermitteln welche Operations verfügbar sind
  • Klare Fehlermeldungen: 405-Responses mit Allow informieren über korrekte Alternativen
  • RESTful Design: Unterstützt hypermedia-driven APIs mit dynamischer Methoden-Discovery

Spezifikation

RFC 9110, Section 10.2.1 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-allow

Weitere Spezifikationen

OPTIONS Method, HTTP Status 405 - Method Not Allowed