Ausbreitung des Coronavirus führt zu immer mehr Tafel-Schließungen

Um 1,6 Millionen bedürftige Tafel-Nutzer:innen jetzt nicht allein zu lassen, ruft Tafel Deutschland e.V. zu Solidarität und Unterstützung auf. Sie wollen helfen? Informationen finden Sie unter tafel.de.

Coronacharityshop.png

Eine weitere Möglichkeit ist der Einkauf im CoronaCharityShop – alle Einnahmen gehen zu 100 % an die Tafeln. Herzlichen Dank für Ihre Unterstützung.

HTTP/Anfragemethoden

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

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.

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:

  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.

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.

  • 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.

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.


POST[Bearbeiten]

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 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.

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.

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.

  • HTTP 1.0

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.

  • 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.

DELETE[Bearbeiten]

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.

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.

  • HTTP 1.1

OPTIONS[Bearbeiten]

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

  • HTTP 1.1

CONNECT[Bearbeiten]

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

  • HTTP 1.1

Weblinks[Bearbeiten]