Loading AI tools
Parameter-Teil einer Internetadresse Aus Wikipedia, der freien Enzyklopädie
Die Query-Komponente, häufig auch Query-String (englisch für Abfrage-Zeichenkette), ist Teil eines Uniform Resource Locators (URL) im World Wide Web und in RFC 3986 spezifiziert.[1] Die Query-Komponente enthält Daten, häufig in Form von benannten Parametern, die an einen Webserver gesendet und vom nachgeschalteten Server-Teil einer Webanwendung ausgewertet werden können.
Ein Query-String wird mit einem Fragezeichen (?
) eingeleitet und endet mit einem Rautezeichen (#
) oder dem Ende des URLs. Er besteht oft aus einem oder mehreren Parametern, häufig in Form von Schlüssel-Wert-Paaren, die oft mit einem Et-Zeichen (&
) voneinander getrennt werden. Parametername und -wert werden durch ein reserviertes Zeichen, meist ein Gleichheitszeichen (=
), getrennt. Die genannten Trennzeichen entsprechen der Vorgabe des World Wide Web Consortiums (W3C) für die Übertragung von HTML-Formular-Daten.[2]
Der folgende URL enthält den Query-String stichwort=wiki&ausgabe=liste
:
http://www.example.org/suche?stichwort=wiki&ausgabe=liste
Dabei ist dem Parameter stichwort
der Wert wiki
und dem Parameter ausgabe
der Wert liste
zugeordnet.
Ein Webformular ist folgendermaßen implementiert:
<form action="suche.php" method="get">
<label for="stichwort">Suche nach</label>
<input type="text" name="stichwort" id="stichwort" />
<input type="hidden" name="suchdatum" value="2024-11-03" />
<input type="submit" value="Suche starten" />
</form>
Zu beachten ist dabei das verborgene (type="hidden"
) Feld suchdatum
. Es ist im Browser nicht sichtbar, wird beim Absenden des Formulars aber dennoch Teil des Query-Strings. Die Submit-Schaltfläche wird hingegen nicht in den Query-String aufgenommen, da für diese keine Bezeichnung (name
) vergeben wurde. Gibt der Benutzer in das Textfeld das Stichwort „wiki“ ein und sendet das Formular ab, wird beispielsweise folgender URL mit dem entsprechenden Query-String stichwort=wiki&suchdatum=2024-11-03
generiert:
http://<server>/suche.php?stichwort=wiki&suchdatum=2024-11-03
In PHP lässt sich der Query-String abfragen. Dabei ist der Inhalt des Query-Strings als Array verfügbar.
echo $_GET['stichwort'];
gibt beispielsweise den Text aus, der in das Suchfeld eingetragen wurde.
print_r($_GET);
ergibt mit dem Beispiel von oben
Array ( [stichwort] => wiki [suchdatum] => 2024-11-03 )
Einige Zeichen dürfen nicht in einem Query-String auftreten, da diese ansonsten fehlerhaft interpretiert werden können. Wird das Gleichheitszeichen beispielsweise innerhalb eines Wertes benutzt, wird dieses fälschlicherweise als Schlüssel-Wert-Trennzeichen erkannt. Beim Generieren des Query-Strings müssen diese Zeichen speziell codiert werden – beispielsweise müsste ein Leerzeichen in ein Pluszeichen (+
) umgewandelt werden.
Das Et-Zeichen (&
) als Trennzeichen von Schlüssel-Wert-Paaren ist innerhalb von HTML-Dokumenten problematisch, da dieses Zeichen laut dem World Wide Web Consortium (W3C) speziell kodiert sein muss. Das W3C empfiehlt daher eine Trennung der Paare durch ein Semikolon (;
).[3]
Da der Query-String Teil des URLs ist, ist er für jeden Internetnutzer im Browser einseh- und auch modifizierbar. In einer Webanwendung sollten demnach nur unkritische Parameter in den Query-String eingefügt werden, etwa die Eingabe in einem Suchfeld.
Muss eine größere Menge von Daten übergeben werden, empfiehlt es sich diese nicht über den URL, sondern im Message Body mittels der HTTP-Methode POST zu übermitteln, da für URLs einige Beschränkungen gelten:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.