<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Query-String</id>
	<title>Query-String - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Query-String"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Query-String&amp;action=history"/>
	<updated>2026-05-16T07:14:31Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Query-String&amp;diff=2404942&amp;oldid=prev</id>
		<title>imported&gt;Hutch: Abschnittlink korrigiert, Kleinkram</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Query-String&amp;diff=2404942&amp;oldid=prev"/>
		<updated>2026-02-21T07:15:30Z</updated>

		<summary type="html">&lt;p&gt;Abschnittlink korrigiert, Kleinkram&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;[[Abfragesprache|Query]]-Komponente&amp;#039;&amp;#039;&amp;#039;, häufig auch &amp;#039;&amp;#039;&amp;#039;Query-String&amp;#039;&amp;#039;&amp;#039; ([[Englische Sprache|englisch]] für &amp;#039;&amp;#039;Abfrage-[[Zeichenkette]]&amp;#039;&amp;#039;), ist Teil eines [[Uniform Resource Locator]]s (URL) im [[World Wide Web]] und in &amp;lt;nowiki&amp;gt;RFC&amp;amp;nbsp;3986&amp;lt;/nowiki&amp;gt; spezifiziert.&amp;lt;ref name=&amp;quot;RFC-3986&amp;quot; /&amp;gt; Die Query-Komponente enthält Daten, häufig in Form von benannten [[Parameter (Informatik)|Parametern]], die an einen [[Webserver]] gesendet und vom nachgeschalteten Server-Teil einer [[Webanwendung]] ausgewertet werden können.&lt;br /&gt;
&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
&lt;br /&gt;
Ein Query-String wird mit einem [[Fragezeichen]] (&amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;) eingeleitet und endet mit einem [[Rautezeichen]] (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) 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]] (&amp;lt;code&amp;gt;&amp;amp;&amp;lt;/code&amp;gt;) voneinander getrennt werden. Parametername und -wert werden durch ein [[Uniform Resource Locator#Liste erlaubter Zeichen|reserviertes Zeichen]], meist ein [[Gleichheitszeichen]] (&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;), getrennt. Die genannten Trennzeichen entsprechen der Vorgabe des [[World Wide Web Consortium]]s (W3C) für die Übertragung von [[Webformular|HTML-Formular]]-Daten.&amp;lt;ref name=&amp;quot;W3C-Query-Delimiter&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der folgende URL enthält den Query-String &amp;lt;code&amp;gt;stichwort=wiki&amp;amp;ausgabe=liste&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.org/suche?stichwort=wiki&amp;amp;ausgabe=liste&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei ist dem Parameter &amp;lt;code&amp;gt;stichwort&amp;lt;/code&amp;gt; der Wert &amp;lt;code&amp;gt;wiki&amp;lt;/code&amp;gt; und dem Parameter &amp;lt;code&amp;gt;ausgabe&amp;lt;/code&amp;gt; der Wert &amp;lt;code&amp;gt;liste&amp;lt;/code&amp;gt; zugeordnet.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
Ein Webformular ist folgendermaßen implementiert:&lt;br /&gt;
{{#tag:syntaxhighlight&lt;br /&gt;
|&amp;lt;form action=&amp;quot;suche.php&amp;quot; method=&amp;quot;get&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;label for=&amp;quot;stichwort&amp;quot;&amp;gt;Suche nach&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;stichwort&amp;quot; id=&amp;quot;stichwort&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;suchdatum&amp;quot; value=&amp;quot;{{#time:Y-m-d}}&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Suche starten&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
|lang=html}}&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist dabei das verborgene (&amp;lt;code&amp;gt;type=&amp;quot;hidden&amp;quot;&amp;lt;/code&amp;gt;) Feld &amp;lt;code&amp;gt;suchdatum&amp;lt;/code&amp;gt;. 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 (&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;) 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 &amp;lt;code style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;stichwort=wiki&amp;amp;suchdatum={{#time:Y-m-d}}&amp;lt;/code&amp;gt; generiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://&amp;lt;server&amp;gt;/suche.php?stichwort=wiki&amp;amp;suchdatum=&amp;lt;/nowiki&amp;gt;{{#time:Y-m-d}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Auswertung (in PHP) ===&lt;br /&gt;
&lt;br /&gt;
In [[PHP]] lässt sich der Query-String abfragen. Dabei ist der Inhalt des Query-Strings als [[Feld (Datentyp)|Array]] verfügbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
echo $_GET[&amp;#039;stichwort&amp;#039;];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gibt beispielsweise den Text aus, der in das Suchfeld eingetragen wurde.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
print_r($_GET);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ergibt mit dem Beispiel von oben&lt;br /&gt;
&lt;br /&gt;
{{#tag:pre&lt;br /&gt;
|Array&lt;br /&gt;
(&lt;br /&gt;
    [stichwort] =&amp;gt; wiki&lt;br /&gt;
    [suchdatum] =&amp;gt; {{#time:Y-m-d}}&lt;br /&gt;
)}}&lt;br /&gt;
&lt;br /&gt;
== Nachteile und Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Kodierung ===&lt;br /&gt;
&lt;br /&gt;
{{Hauptartikel|URL-Encoding}}&lt;br /&gt;
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 (&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;) umgewandelt werden.&lt;br /&gt;
&lt;br /&gt;
==== Trennzeichen für Parameter ====&lt;br /&gt;
&lt;br /&gt;
Das [[Et-Zeichen]] (&amp;lt;code&amp;gt;&amp;amp;&amp;lt;/code&amp;gt;) 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]] (&amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;).&amp;lt;ref&amp;gt;[http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.2.2 W3C-Empfehlung für das Trennen der Key-Value-Pairs]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sicherheitsrisiken ===&lt;br /&gt;
&lt;br /&gt;
Da der Query-String Teil des URLs ist, ist er für jeden Internetnutzer im [[Webbrowser|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.&lt;br /&gt;
&lt;br /&gt;
=== Technische Beschränkungen ===&lt;br /&gt;
&lt;br /&gt;
Muss eine größere Menge von Daten übergeben werden, empfiehlt es sich diese nicht über den URL, sondern im [[Hypertext Transfer Protocol#Aufbau|Message Body]] mittels der HTTP-Methode [[Hypertext Transfer Protocol#HTTP-POST|POST]] zu übermitteln, da für URLs einige Beschränkungen gelten:&lt;br /&gt;
&lt;br /&gt;
* Die HTTP-Spezifikation empfiehlt aus Kompatibilitätsgründen eine Maximalgröße von 255 [[Byte]]s für [[Uniform Resource Locator|URLs]] bzw. [[Uniform Resource Identifier|URIs]].&amp;lt;ref&amp;gt;{{RFC-Internet |RFC=2616 |Titel=HTTP/1.1 |Datum= |Abschnitt=3}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Der [[Internet Explorer]] unterstützt keine URLs, die aus mehr als 2083 Zeichen bestehen.&amp;lt;ref&amp;gt;[http://support.microsoft.com/kb/208427 support.microsoft.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Webserver]] können die Maximallänge eines Query-Strings selbst begrenzen. Bei einer Überschreitung dieser Grenze sendet der Server den [[HTTP-Statuscode#4xx – Client-Fehler|HTTP-Statuscode 414]] an den Client zurück.&lt;br /&gt;
* Die (mittlerweile veraltete) [[Hypertext Markup Language|HTML]]-3-Spezifikation schreibt eine Maximallänge von Linkzielen von 1024 Zeichen vor.&amp;lt;ref&amp;gt;[http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2 HTML 3-Spezifikation]&amp;lt;/ref&amp;gt; Diese Beschränkung ist seit HTML 4 nicht mehr vorhanden.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Clean URL]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;RFC-3986&amp;quot;&amp;gt;&lt;br /&gt;
{{RFC-Internet |Autor=[[Tim Berners-Lee|T. Berners-Lee]], R. Fielding, L. Masinter |RFC=3986 |Titel=Uniform Resource Identifier (URI): Generic Syntax |Datum=2005-01 |Abschnitt=3.4 |Abschnittstitel=Query |Standard=66 |Updated=6874 |Obsoletes=2732 |Errata=1}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;W3C-Query-Delimiter&amp;quot;&amp;gt;&lt;br /&gt;
{{Internetquelle&lt;br /&gt;
 |url=https://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type&lt;br /&gt;
 |titel=17 Forms&lt;br /&gt;
 |titelerg=17.13.4 Form content types&lt;br /&gt;
 |werk=HTML 4.01 Specification&lt;br /&gt;
 |hrsg=[[World Wide Web Consortium]] (W3C)&lt;br /&gt;
 |datum=2018-03-27&lt;br /&gt;
 |sprache=en&lt;br /&gt;
 |abruf=2019-11-27}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HTTP]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Hutch</name></author>
	</entry>
</feed>