HTTP/Anfragemethoden

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Im HTTP-Protokoll gibt es verschiedene Anfragemethoden (request methods). Sie ermöglichen es dem Browser des Clients Informationen zum Server zu senden, um Dateien abzurufen, ein Formular abzusenden oder eine Datei hochzuladen.

Inhaltsverzeichnis

[Bearbeiten] GET

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.

  • HTTP 1.0

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.

Beispiel
GET /index.php?suche=anfragemethoden+formular HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: image/gif, image/jpeg, */* Connection: close


Dieser muss URL-encodiert sein, sodass z.B. Leerzeichen durch %20 und im Query-String als + ersetzt werden müssen.

Beispiel: encodierter Query-String für "Weißes Rössl"
GET /index.php?suche=Wei%C3%9Fes+R%C3%B6ssl HTTP/1.1
Beachten Sie: Der Query-String ist nach dem Absenden des Formulars im Web-Browser des Anwenders in der Adresszeile sichtbar.

[Bearbeiten] Wahl der Anfragemethode

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:

  1. Werden durch den Request lediglich andere Daten als Antwort empfangen, so ist die GET-Methode die richtige Wahl.
  2. Werden durch den Request Daten auf dem Server verändert, ist die POST-Methode die richtige Wahl.
  3. Werden Daten für Logins, insbesondere Passwörter übermittelt, dann ist nur POST die einzig richtige Wahl.

[Bearbeiten] POST

Mit der POST-Methode können Sie große Datenmengen (wie Bilder oder HTML-Formular-Daten) zur weiteren Verarbeitung zum Server senden.

  • HTTP 1.0

Name-Wert-Paare wie Formularnamen und die dazugehörigen Werte werden in einem URL-encodierten durch Kaufmanns-Und getrennten Datensatz zusammengefasst:

Beispiel
Name=Wei%C3%9Fes+R%C3%B6ssl&Ort=St.+Wolfgang&PLZ=5360

Die Daten werden beim Absenden des Forumlars 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.

Beispiel
POST /send.php HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 Accept: image/gif, image/jpeg, */* Content-type: application/x-www-form-urlencoded Content-length: 51 Connection: close Name=Wei%C3%9Fes+R%C3%B6ssl&Ort=St.+Wolfgang&PLZ=5360

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.

[Bearbeiten] HEAD

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.

  • HTTP 1.0

[Bearbeiten] PUT

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.

  • HTTP 1.0
Beispiel
PUT /kommentar.html HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 Accept: image/gif, image/jpeg, */* Content-type: application/x-www-form-urlencoded Content-type: text/html Content-length: 22 <p>Neuer Kommentar</p>

Es können so neue Ressourcen auf dem Server entstehen oder bestehende modifiziert werden.

[Bearbeiten] DELETE

Die DELETE-Methode löscht die angegebene Ressource auf dem Server.

  • HTTP 1.0

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.

[Bearbeiten] TRACE

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.

  • HTTP 1.1

[Bearbeiten] OPTIONS

Die OPTIONS-Methode liefert eine Liste der vom Server unterstützen Methoden und Merkmale.

  • HTTP 1.1

[Bearbeiten] CONNECT

Die CONNECT-Methode wird von Proxyservern implementiert, die in der Lage sind, SSL-Tunnel zur Verfügung zu stellen.

  • HTTP 1.1

[Bearbeiten] Weblinks

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Index
Mitmachen
Werkzeuge
Spenden
SELFHTML