Link: Wichtiger Hinweis in eigener Sache!
Das Versenden von Daten per HTTP erfolgt in 2 Richtungen: Vom Client an den Server, und natürlich vom Server an den Client. Alle Informationen, die vom Client an den Server per HTTP übersendet werden, wird per Request bearbeitet. Das Senden von Informationen vom Server an den Client erfolgt mit dem ASP-Objekt Response.
Zuerst möchte ich das Request-Objekt darstellen. Mit dem Request-Objekt können auch permanente Cookies bearbeitet werden, ebenfalls Clientzertifikate, z.B. bei SSL-Verschlüsselung.
| Auflistungen |
|---|
| ClientCertificate | Liefert Daten aus einem Zertifikat zurück, das zumeist zur Identifikation dient, z.B. SSL-Zertifikate. | | Cookies | Permanente Cookies bearbeiten. | | Form | Auslesen des HTTP-Anforderungsinhalts welche per Post-Methode versandt wurden. | | QueryString | Auslesen des HTTP-Anforderungsinhalts welche per Get-Methode versandt wurden. | | ServerVariables | Zuvor festgelegte Umgebungsvariablen auslesen. | | | | Eigenschaften |
|---|
| TotalBytes | Anzahl der Bytes, die der Client im HTTP-Anforderungsinhalt sendet. | | | | Methoden |
|---|
| BinaryRead | Auslesen von Daten die per Post übertragen wurde. |
Werden Daten versendet, gibt es 2 Möglichkeiten, per Get & Post. Werden die Daten per Get-Methode versandt, so werden die Daten an den URL angehängt. Dieses Sendemethode hat den Vorteil, daß die Datenübergabe sehr einfach funktioniert. Allerdings hat diese auch ein Nachteil: Die Anzahl der Zeichen ist begrenzt. Beim Internet Explorer sind dies rund 2000 Zeichen, beim Netscape rund 5000 Zeichen. Ein weiterer Nachteil ist die einfache Lesbarkeit. Denn jeder kann die Daten sehr einfach auslesen, da alle Werte per URL übergeben werden.
Die Post-Methode hat den Vorteil, eine (fast) unbegrenzte Anzahl von Zeichen übertragen zu können, unabhängig vom Browser. Dazu ist die Post-Methode sicherer. Denn das Auslesen der Daten ist für Aussenstehende weitaus schwieriger. Per Get versendete Daten werden mit Request.QueryString("VariablenName") ausgelesen, per Post versandte Daten mit Request.Form("VariablenName").
Bei einigen Formulare ist es nicht sicher, ob die Daten per Get oder Post versendet werden. Natürlich könnte man Request.Querystring und Request.Form für jede Variable setzen, allerdings wäre dies sehr aufwendig. Hierzu gibt es die Anweisung Request("VariablenName"). Allerdings sollte diese Methode sparsam eingesetzt werden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <% @ Language="VBScript" %> <% Option Explicit
Dim FormText, PostText, Text FormText = Request.Form("FormText") PostText = Request.QueryString("PostText") Text = Request("PostText") If FormText = "" Then %> <form action="Test.asp" method="Post"> <input type="text" name="FormText" id="FormText"> <input type="submit" value="Senden"> </form> <% Response.Write("Post: " & PostText) Response.Write("<br>Text: " & Text) Response.Write("<br><br>Anzahl Bytes: " & Request.TotalBytes) Else %> <a href="Test.asp?PostText=Hallo+Welt">Test.asp</a> <% Response.Write("<br><br>Anzahl Bytes: " & Request.TotalBytes) Response.Write("<br>" & FormText) End if %> |
Werden Daten per Post übertragen so kann mit TotylBytes ermittelt werden, wieviel Bytes übertragen wurden.
Servervariablen Request.Servervariables stellt viele Informationen vom Client und Server zur Verfügung. In einigen Fällen kann dies sehr hilfreich sein. Das nachfolgende Beispiel demonstriert die Ausgabe der IP-Adresse des Client. Dazu werden alle Informationen aus Servervariables ausgegeben.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <% @ Language="VBScript" %> <% Option Explicit
Dim Variable, Inhalt, IP
IP = Request.ServerVariables("REMOTE_ADDR") Response.Write("<b>IP: " & IP & "</b>")
Response.Write("<table>")
for Each Variable in Request.ServerVariables Inhalt=Request.ServerVariables(Variable) if Inhalt="" then Inhalt="nicht definiert" %> <tr> <td bgcolor="#e0ecfe"> <font face="serif,sans-serif,arial"> <% Response.Write(Variable) %> </font> </td> <td bgcolor="#30649e"> <font face="serif,sans-serif,arial" color="#ffffff"> <% Response.Write(Inhalt) %> </font> </td> </tr> <% Next %> </table> |
Die Zeile 6 liest die IP-Adresse des Client aus. Läuft der Internet-Zugang des Clients über einen Proxy-Server, so wird nicht die IP-Adresse des Client angezeigt, sondern des Proxy-Server. Die Zeilen 11-26 geben alle Servervariablen in einer For Each - Schleife aus.
|