|
|
- Die nachfolgende Beschreibung betrifft
die Methoden GET, HEAD und POST, und die Art wie Parameter vor
der Rücksendung zu einem Server verschlüsselt werden.
-
-
Da bei der Methode GET die verschlüsselten
Parameter durch ein Fragezeichen '?' getrennt, an den URL
angehängt werden, eignet sich diese Methode gut zur
Beobachtung des Mechanismus.
-
-
Beispiel:
-
Hier werden die Parameter VarName1=20 und
VarName2=50 zum Server zurückgesendet. Sie können von
Hand in das Adressfenster des Browsers eingetragen worden sein,
oder z.B. in Formulareingabefeldern einer Html-Seite. Im letzten
Fall führt dann ein Klick auf den Übermittlungsknopf,
z.B.[Senden] oder [Submit], zu einer Zeile im Browserfenster,
wie der folgenden ..
|
|
|
|
|
|
|
|
http://192.168.0.10:80/root/index.htm?VarName1=20&VarName2=50
|
|
|
|
|
|
|
|
- Für die Codierung von Parametern
gelten folgende Regeln.
-
Grundsätzlich werden aus den
Formulareingaben Paare gebildet, die den Namen einer Variablen
und deren Wert nennen. Beide Teile sind durch ein
Gleichheitszeichen getrennt und bestehen aus 7 Bit ASCII-Code.
-
-
Bsp: VarName =
Alle+meine+Entchen
-
-
Freizeichen werden dabei durch das +
gekennzeichnet und einzelne Wertepaare durch das
Ampersandzeichen & getrennt ..
-
-
Bsp: VarName
= Alle+meine+Entchen & VarFort = schwimmen+auf
-
-
Besitzt eine Variable keinen Wert, wird
sie in der ULR-Kodierung dennoch genannt, jedoch ohne Wert, was
wie folgt aussieht.
-
-
Bsp: VarName =
-
-
Zeichen, die nicht im 7 Bit ASCII-Code
vorkommen, also solche die größer sind als 7Fh,
werden durch eine zweistellige, hexadezimal-Zeichenfolge
angegeben, die durch ein Prozentzeichen % eingeleitet wird. Im
Beispiel der Wert 8Ah ..
-
-
Bsp: VarName =
%8A
-
-
Durch ihre Verwendung als Trennzeichen
sind die Zeichen =, &, % zu Sonderzeichen geworden. Sollen
sie innerhalb eines Variable=Wert-Paares benutzt werden, so
müssen auch sie als zweistellige Hexadezimal-Zeichenfolge
mit einem %-Zeichen davor kodiert werden. Das % -Zeichen wird
dann zu %25
-
Bsp: Nachlass =
223.5%25
|
|
|
|
|
|
|
|
- Bei der Methode GET werden die
URL-kodierten Argumente durch ein ? von dem URL-Request der
Seite getrennt. So dass eine komplette Zeile wie folgt aussehen
kann ..
-
-
Bsp:
http://192.168.0.10:80/formular.htm?VarName=Alle&VarFort=meine
|
|
|
|
Der Server trennt beim
Empfang die Argumente hinter dem ? von dem URL-Request der
Adresszeile ab und kopiert die Argumente in einen Buffer. Hier
kann sich eine CGI-BehandlungsFunktion die Argumente abholen. Sie
muss nun die Variable=Wert -Paare für die eigene Benutzung
trennen und in entsprechende Variablentypen wie String oder Zahl
umwandeln.
|
|
|
|
Bei den Methoden POST und HEAD geschieht
in Bezug auf die Codierung der Parameter gleiches. Jedoch
gelangen sie bei diesen Methoden nicht als Anhängsel des
URL-Request, sondern verdeckt zum Server zurück. Dies ist
beispielsweise bei der Übergabe von Benutzernamen und
Passworten sinnvoll.
|
|
|
|
|
|