Allow
Verwendung
Server fügen Allow ein, um mitzuteilen, welche Anfragemethoden eine Ressource unterstützt. In Antworten mit 405 Method Not Allowed ist der Header verpflichtend; der Server informiert den Client damit über die gültigen Methoden für die angefragte URI.
Der Header erscheint außerdem in Antworten auf OPTIONS-Anfragen. Eine OPTIONS-Anfrage fordert den Server auf, die für eine Ressource verfügbaren Kommunikationsoptionen zu beschreiben, und Allow liefert in der Antwort die Liste der zulässigen Methoden.
Der Wert ist eine durch Kommas getrennte Liste standardisierter HTTP-Methodennamen. Die Liste gibt die Methoden wieder, die die Ressource zum Zeitpunkt der Antwort akzeptiert. Ein leerer Allow-Header signalisiert, dass derzeit keine Methoden akzeptiert werden; das kommt vor, wenn ein Server den Zugriff auf eine Ressource vorübergehend einschränkt.
Der Allow-Header beschreibt die Zielressource, nicht den Server als Ganzes. Unterschiedliche Ressourcen auf demselben Server unterstützen häufig unterschiedliche Mengen von Methoden. Ein Sammlungs-Endpunkt akzeptiert womöglich GET und POST, während eine einzelne Ressource GET, PUT und DELETE unterstützt.
method-list
Eine durch Kommas getrennte Liste von HTTP-Methodennamen. Gängige Werte sind:
Allow: GET, HEAD, POST
Beispiel
Ein Client sendet eine DELETE-Anfrage an eine Ressource, die nur GET und POST unterstützt. Der Server antwortet mit 405 und fügt den Allow-Header mit den gültigen Methoden hinzu.
HTTP/1.1 405 Method Not Allowed
Allow: GET, POST
Content-Type: application/json
Eine Antwort auf eine OPTIONS-Anfrage zeigt alle Methoden, die die Ressource akzeptiert. Die Methode HEAD steht implizit zur Verfügung, wenn GET unterstützt wird.
HTTP/1.1 200 OK
Allow: GET, HEAD, PUT, DELETE
Content-Length: 0
Eine 201-Created-Antwort nach einem POST enthält Allow, um die auf der neu erstellten Ressource verfügbaren Methoden anzugeben.
HTTP/1.1 201 Created
Location: /items/42
Allow: GET, PUT, DELETE