GET-Parameter
Die Methode getParameter() ist die am weitesten verbreitete HTTP-Request-Methode, um Ressourcen durch einen Client wie einen Webbrowser von einem Server anzufordern. Da die übertragenen Seiteninhalte oder Dateien mithilfe von URLs angefordert werden, ist auch die Bezeichnung URL-Parameter gebräuchlich.
Allgemeine Informationen
Die Kommunikation zwischen Clients und Servern im Internet erfolgt meist über das HTTP-Protokoll. Es erlaubt den Datenaustausch in Form von Anfragen und Antworten (engl.: Request and Response). Ein Cient ist zum Beispiel ein Webbrowser eines Nutzers. Der Server stellt eine HTML-Seite bereit, die vom Browser des Nutzers geladen wird. Die beiden am häufigsten verwendeten Methoden, um diese Art der Kommunikation zu ermöglichen, sind GET und POST.
GET Anfrage
Fragt ein Client mithilfe des HTTP-Protokolls auf einem Webserver nach einer bestimmten Ressource, übermittelt der Client dem Server mit der angefragten URL bestimmte GET-Parameter. Diese Parameter sind Paare aus Namen und dazugehörigen Werten – sogenannte Name-Wert-Paare. Diese werden mit dem Zeichen ? an die URL angefügt und sagen dem Server, welche Ressourcen gemeint sind. Name und Wert werden dabei stets durch ein = voneinander getrennt.
Die Syntax sieht folgendermaßen aus:
http://www.domain.de/index.html*?name1=wert1
Es können nicht nur einzelne, sondern auch mehrere Parameter bis hin zu ganzen Listen an den Server übermittelt werden. Dafür werden die einzelnen Parameter mit dem &-Zeichen voneinander getrennt.
http://www.domain.de/index.html*?name1=wert1&name2=wert2
Ist die Anfrage syntaktisch korrekt, sendet der Server eine Antwort. Sie enthält zunächst bestimmte Statusinformationen über die Anfrage. Zum Beispiel ob die angeforderte Ressource vorhanden ist oder wann die Anfrage stattgefunden hat. Der Server schickt nun nicht die Ressource zum Klienten, sondern sagt ihm, wo er die Ressource finden kann. Der Browser befolgt die Anweisung und fragt die Ressource beim Server an. Erst jetzt lädt der Browser die Ressource anhand der ortsbasierten Daten, die ihm der Server zur Verfügung gestellt hat. Der Grund liegt darin, dass das HTTP-Protokoll immer nur eine einseitige Kommunikation erlaubt. Auf jede Anfrage erfolgt zunächst nur eine Antwort.
Anmerkungen zum GET-Parameter
Anfragen mit getParameter() haben bestimmte Eigenschaften und auch Nachteile.[1] Da die Daten per URL übergeben werden, ist es ratsam, nur Daten, die nicht sicherheitsrelevant sind, per GET-Parameter abzufragen. Folgende Eigenschaften charakterisieren den GET-Parameter:
- Speicherung im Cache des Browsers möglich
- Erhaltung in der Browser-Historie
- Speicherung als Lesezeichen möglich
- Keine Eignung für die Verwendung mit sensiblen Daten
- Einschränkung der Länge (URL Länge)
- In erster Linie ist ihr Zweck, Daten einzuholen
Praxisbezug
URLs mit Parametern werden auch als dynamische URLs bezeichnet. Durch das Ändern der Parameter entsteht eine neue URL und der Seiteninhalt kann sich dynamisch verändern. Wenn zum Beispiel ein Onlineshop Produkte auf einer Kategorienseite eingepflegt hat und ein Nutzer diese Seite mit seinem Browser lädt, werden ihm die neuen Produkte ebenfalls angezeigt, weil die URL der Seite auch veränderte Inhalte mit Hilfe der GET-Parameter abgefragt hat.
Bedeutung für die Suchmaschinenoptimierung
Das Entstehen von dynamischen URLs bei der Verwendung von getParameter() bringt Nachteile mit sich. Durch die Dynamik kann es passieren, dass teilweise gleicher Content unter mehreren URLs generiert wird. So entstandener Duplicate Content ist schlecht für das Ranking der Seiten, weshalb er aus SEO-Sicht bestimmte Maßnahmen erforderlich macht. In diesem Fall ist es zum Beispiel ratsam, das Canonical Tag einzusetzen, damit der Suchmaschinen-Crawler die doppelten Seiten mit den Parameter-URLs ignoriert.
Ein weiterer Aspekt, der durch die Verwendung von getParamteter() wichtig wird, ist die Lesbarkeit der URL. Die Parameter in der URL sind für Nutzer meist kryptisch und die Namen der auftretenden Parameter nichtssagend. Aus diesem Grund sollten URLs mit Parametern optimalerweise immer auf URLs ohne die entsprechenden Parameter umgeleitet werden.
Einzelnachweise
- ↑ HTTP Methods: GET vs. POST w3schools.com. Abgerufen am 08.05.2015
Weblinks
- Definition der GET-Methode beim IETF
- Definition der GET-Methode beim W3C
- HTTP-Anfragen und Antworten als Code betrachten
- Weitere Request-Methoden