HTTP/Anfragemethoden
Im HTTP-Protokoll gibt es verschiedene Anfragemethoden (englisch: request methods), die es dem Browser ermöglichen, Informationen, Formulare oder Dateien an den Server zu senden.
Inhaltsverzeichnis
Wahl der Anfragemethode[Bearbeiten]
Die Wahl der Übertragungsmethode hängt, will man es richtig machen, nicht etwa von der Präferenz des Programmierers ab, sondern folgt eigentlich ganz einfachen Regeln:
- Sollen durch den Request Daten vom Server angefordert werden, so ist die
GET
-Methode die richtige Wahl. - Sollen durch den Request Daten an den Server gesendet werden, ist die
POST
-Methode die richtige Wahl. - Werden Daten für Logins, insbesondere Passwörter übermittelt, dann ist nur
POST
die richtige Wahl.
Anfragemethoden[Bearbeiten]
GET[Bearbeiten]
Mit der GET-Methode können Sie eine Ressource (zum Beispiel eine Datei) vom Server anfordern. Dabei wird ein Parameter (z. B. übertragene Formulardaten), getrennt durch ein Fragezeichen, zum URI hinzugefügt.
Die Länge des URIs ist zwar nicht durch die Spezifikation begrenzt; es gibt aber je nach eingesetztem Server implementierungsspezifische Grenzen (beim Apache Webserver beispielsweise 16kB), aus Gründen der Abwärtskompatibilität sollte man 255 Bytes nicht überschreiten.
Dieser muss URL-encodiert sein, sodass z. B. Leerzeichen durch %20
und im Query-String als +
ersetzt werden müssen.
POST[Bearbeiten]
Mit der POST-Methode können Sie große Datenmengen (wie Bilder oder HTML-Formular-Daten) zur weiteren Verarbeitung zum Server senden.
Name-Wert-Paare wie Formularnamen und die dazugehörigen Werte werden in einem URL-encodierten durch Kaufmanns-Und getrennten Datensatz zusammengefasst:
Die Daten werden beim Absenden des Formulars mit einer POST-Anfrage an den Server geschickt. Dabei ist der Datensatz aber nicht Teil der URL, sondern wird, durch eine Leerzeile getrennt, an den Header angehängt.
Es können so neue Ressourcen auf dem Server entstehen oder bestehende modifiziert werden. POST-Daten werden im Allgemeinen nicht von Caches zwischengespeichert. Zusätzlich können bei dieser Art der Übermittlung auch Daten wie in der GET-Methode an den URI gehängt werden.
HEAD[Bearbeiten]
Die HEAD-Methode weist den Server an, die gleichen HTTP-Header wie bei GET
, nicht jedoch den Nachrichtenrumpf mit dem eigentlichen Dokumentinhalt zu senden. So kann zum Beispiel schnell die Gültigkeit einer Datei im Browser-Cache geprüft werden, indem die Größe verglichen wird.
PUT[Bearbeiten]
Die PUT-Methode dient dazu eine Ressource (zum Beispiel eine Datei) unter Angabe des Ziel-URIs auf einen Webserver hochzuladen. Dabei muss sie nicht wie bei POST durch ein Skript verarbeitet werden, sondern wird an der in der ersten Zeile angegebenen Stelle platziert.
Es können so neue Ressourcen auf dem Server entstehen oder bestehende modifiziert werden.
DELETE[Bearbeiten]
Die DELETE-Methode löscht die angegebene Ressource auf dem Server.
DELETE und PUT sind häufig in der Standardkonfiguration von Webservern abgeschaltet, erlangen jedoch mit RESTful Web Services und der HTTP-Erweiterung WebDAV neue Bedeutung.
TRACE[Bearbeiten]
Die TRACE-Methode liefert die Anfrage so zurück, wie der Server sie empfangen hat. So kann überprüft werden, ob und wie die Anfrage auf dem Weg zum Server verändert worden ist – sinnvoll für das Debugging von Verbindungen.
OPTIONS[Bearbeiten]
Die OPTIONS-Methode liefert eine Liste der vom Server unterstützen Methoden und Merkmale.
CONNECT[Bearbeiten]
Die CONNECT-Methode wird von Proxyservern implementiert, die in der Lage sind, SSL-Tunnel zur Verfügung zu stellen.
Weblinks[Bearbeiten]
- blogtreehouse: The Definitive Guide to GET vs POST