POST request method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die POST HTTP-Methode sendet Daten an den Server. Der Typ des Anforderungskörpers wird durch den Content-Type Header angegeben.

Der Unterschied zwischen PUT und POST besteht darin, dass PUT idempotent ist: Einmaliges Aufrufen unterscheidet sich nicht vom mehrmaligen aufeinanderfolgenden Aufrufen (es gibt keine Nebeneffekte). Aufeinanderfolgende gleiche POST-Anfragen können zusätzliche Effekte haben, wie z.B. das mehrfache Erstellen derselben Bestellung.

HTML-Formulare senden typischerweise Daten mit POST und führen dadurch in der Regel zu einer Änderung auf dem Server. Bei HTML-Formularen wird das Format/die Kodierung des Körperinhalts durch das enctype Attribut des

Elements oder das formenctype Attribut der oder

Syntax

http
POST ["?"] HTTP/1.1

Identifiziert die Zielressource der Anfrage in Kombination mit den Informationen, die im Host Header bereitgestellt werden. Dies ist ein absoluter Pfad (z.B. /path/to/file.html) bei Anfragen an einen Origin-Server und eine absolute URL bei Anfragen an Proxys (z.B. http://www.example.com/path/to/file.html).

Optional

Eine optionale Abfragekomponente, die einem Fragezeichen ? folgt. Wird oft verwendet, um identifizierende Informationen in Form von key=value Paaren zu übertragen.

Beispiele

URL-kodierte Formularübertragung

Ein Formular, das die application/x-www-form-urlencoded Inhaltskodierung (die Standardkodierung) verwendet, sendet eine Anfrage, bei der der Körper die Formulardaten in key=value Paaren enthält, wobei jedes Paar durch ein & Symbol getrennt ist, wie unten gezeigt:

http
POST /test HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

field1=value1&field2=value2

Multipart-Formularübertragung

Die multipart/form-data Kodierung wird verwendet, wenn ein Formular Dateien oder viele Daten umfasst. Dieser Anforderungskörper trennt jeden Teil des Formulars durch eine Grenzzeichenfolge. Ein Beispiel für eine Anforderung in diesem Format:

http
POST /test HTTP/1.1
Host: example.com
Content-Type: multipart/form-data;boundary="delimiter12345"

--delimiter12345
Content-Disposition: form-data; name="field1"

value1
--delimiter12345
Content-Disposition: form-data; name="field2"; filename="example.txt"

value2
--delimiter12345--

Der Content-Disposition Header gibt an, wie die Formulardaten verarbeitet werden sollen, wobei das Feld name und filename, falls zutreffend, spezifiziert werden.

Spezifikationen

Specification
HTTP Semantics
# POST

Browser-Kompatibilität

Siehe auch