HTTP Parameter#
HTTP Parameter werden in der URL übergeben. Sie werden mit einem ?
getrennt von der URL. Die Parameter werden mit einem &
getrennt. Ein Parameter besteht aus einem Namen und einem Wert. Der Wert wird mit einem =
getrennt. Der Wert kann auch leer sein. Der Name und der Wert werden URL-kodiert. Das bedeutet, dass Leerzeichen mit einem +
ersetzt werden und Sonderzeichen mit %
und einem Hexadezimalwert ersetzt werden. Der Wert kann auch ein Array sein. Dann wird der Name mehrfach verwendet. Der Wert eines Arrays wird mit einem ,
getrennt.
GET und POST#
GET wird in der URL übergeben. POST wird im Body übergeben. GET wird in der URL angezeigt, wobei POST nicht angezeigt wird. GET ist limitiert auf 2048 Zeichen, POST ist unbegrenzt. GET ist für Suchanfragen, POST für Formulare. Wenn die Werte nicht übergeben wurden, dann wird eine Warnung angezeigt. Um diese zu verhindern kann mit isset()
geprüft werden, ob der Wert übergeben wurde. Mithilfe von empty()
kann geprüft werden, ob der Wert leer ist. In PHP wird ein assoziatives Array hinterlegt, mit dem Namen des Parameters. Über sogenannte SuperGlobals kann auf die Parameter zugegriffen werden. Über $_SERVER["PHP_SELF"]
kann direkt auf die aktuelle Seite verwiesen werden.
Anwendungsfälle#
Aufgabe | GET | GET |
---|---|---|
Cacheable | Browser & Server | |
Wiederaufrufbar | ||
Sichtbarkeit | Sichtbar in URL | Nicht sichtbar |
Sicherheit | Sensitive Daten sichtbar | Sensitive Daten versteckt |
Zeichenlimit | 2048 | Unbegrenzt (Limit bei Server) |
Zeichenart | Nur ASCII | Alles erlaubt (Bilder, Audio, Binary, ...) |
Abfrage | Daten anfordern | Daten modifizieren |
Redirects#
Ein Redirect ist ein HTTP-Header, der den Browser dazu auffordert, eine andere URL aufzurufen. Ein Redirect kann mit header()
gesendet werden. Der erste Parameter ist der HTTP-Statuscode. Der zweite Parameter ist die URL. Der Statuscode 301
ist permanent, 302
ist temporär. Der Browser speichert den Redirect und führt ihn bei einem erneuten Aufruf aus.