2.2.2 HTTP-Request: Methoden und Request-Line

Die wichtigsten HTTP-Methoden sind GET, POST, PUT und DELETE, mit denen wir uns im Rahmen dieses Kapitels beschäftigen. Eine Übersicht und einfache Erklärung aller Methoden finden Sie bei Wikipedia. Sowohl mit GET, als auch mit POST, können Daten (z.B. aus Webformularen) an den Server mitgeschickt werden.

Hier ein kurzes Video, das den Unterschied zwischen GET und POST erklärt. Im Video wird dargestellt, dass die Übermittlung der Daten in POST nicht sicherer als mit GET ist.

Anfragen an einen Webserver: Dieses Video zeigt, wie Webanfragen funktionieren und wie der Datenverkehr zwischen einem Client und einem Server abläuft.

GET

Bei GET werden Formulardaten in der Request-Line übertragen.

Datenübertragung mit GET in der URL an den Server

  • Angehängte HTML-Parameter (aus HTML-Formularen) werden zum Bestandteil der URL.
  • Die Kodierung erfolgt wie im Abschnitt Sonderzeichen und Codierung dargestellt.
  • Die Länge der erlaubten URL kann im Apache-Parameter LimitRequestLine festgelegt werden (Default ist 8190).
  • Wenn die Länge der URL überschritten wird, erscheint der Fehler-Statuscode 414.

POST

Bei POST werden Formulardaten im HTTP-Body übertragen. Die Methode POST setzt man sinnvoll nur ein, wenn wirklich Daten übertragen werden (Formulardaten, Dateiupload). Ansonsten wird GET verwendet.

Datenübertragung mit POST im Body an den Server

  • HTML-Parameter (aus HTML-Formularen) werden im HTTP-Body übermittelt.
  • Die Größe des zulässigen Body kann mit dem Apache-Parameter LimitRequestBody festgelegt werden.
  • Die Kodierung erfolgt wie im Abschnitt Sonderzeichen und Codierung dargestellt.
  • In den HTML-Formularen steht normalerweise kein enctype=.... Dann wird immer angenommen: enctype=application/x-www-form-urlencoded.
  • Bei Dateiupload muss in HTML angegeben werden: enctype=multipart/form-data.

PUT

Die Methode PUT wird verwendet, um Ressourcen (dabei kann es sich um eine Datei, oder aber schlicht um Daten handeln) an den Server zu schicken. PUT wird heutzutage oft im Zusammenhang mit RESTful bzw. Ajax-Daten verwendet.

DELETE

Die Methode DELETE löscht die in der URL angegebene Ressource (dabei kann es sich ebenfalls um eine Datei, oder aber schlicht um Daten handeln) auf dem Server. DELETE wird ebenfalls oft im Zusammenhang mit RESTful bzw. Ajax-Daten verwendet.