Christian Steurer: Darf man einem URI Parameter mitgeben oder nicht?

Hallo
Ich habe eine HTML Seite erstellt, auf der ein JavaScript prüft, ob an dem URI noch ein Parameter nach einem "?" angehängt ist. Das funktioniert, zumindest auf den Browsern und Platformen die ich getestet habe, einwandfrei.

Nun hat mir ein Kollege gesagt, das bei einem URI mit html-Endung es nicht erlaubt sei, Parameter mitzugeben.

Hier ein Beispiel wie ich das meine
http://www.meine-domain.de/beispiel.html?anton@web.de

Diesen URI kann ich dann in einer E-Mail versenden und wenn er ausgeführt wird, dann wird die angehängte E-Mail-Adresse in ein Formular eingetragen und man muss sie nicht von Hand eintippen.

Hier im Forum habe ich nur verschiedene Beispiele gefunden die das so benutzen, aber leider keine Aussage ob das erlaubt sei oder nicht. Weiß jemand von euch, vielleicht sogar mit einem Link auf die Doku, ob das erlaubt ist oder nicht?

Grüße, Christian

  1. Hallo

    auch so,

    Weiß jemand von euch, vielleicht sogar mit einem Link auf die Doku, ob das erlaubt ist oder nicht?

    ich wüßte jetzt nicht, warum es verboten sein sollte. Dann wäre ja die Funktion für das auslesen des query-Strings in JavaScript für'n Arsch, weil nur in .php oder ähnlichen Dokumenten anwendbar. Ich habe da bisher jedenfalls keine Problemen mit.

    Gruß, Andreas

    --
    http://extra.andeas-lindig.de/was_das/
    treffen sich zwei Jäger:
    beide tot.
  2. http://www.meine-domain.de/beispiel.html?anton@web.de

    Üblicher wäre:

    http://www.meine-domain.de/beispiel.html?E-Mail=anton@web.de

    Weitere Attribute sind durch ein & getrennt:

    http://www.meine-domain.de/beispiel.html?emailadr=anton@web.de&name=Anton

    Schau Dir unbedingt mal http://de.selfhtml.org/html/allgemein/referenzieren.htm#uri an! Dort ist auch auf die RFC 1630 verwiesen, die URIs definiert.

    1. Hi
      Ich denke man sollte vorher aber alle Parameterwerte durch die JavaScript Funktion encodeURIComponent() schicken - oder vergleichbares damit anstellen.

      bye
      ich

  3. Ich habe eine HTML Seite erstellt, auf der ein JavaScript prüft, ob an dem URI noch ein Parameter nach einem "?" angehängt ist.

    Nun hat mir ein Kollege gesagt, das bei einem URI mit html-Endung es nicht erlaubt sei, Parameter mitzugeben.

    Dein Kollege liegt falsch. Das, was in einer URI wie eine Dateiendung aussieht (wohlgemerkt: so aussieht wie), hat für die URI überhaupt keine Bedeutung, von daher kann es auch nicht Basis für ein angebliches Verbot von Parametern sein. Genau genommen macht die gesamte Pfadangabe einer URI keinerlei Aussage darüber, wie der Server diese URI verarbeitet, ob da tatsächlich eine einfache Datei in einem Verzeichnis hintersteckt (wie bei Privatseiten üblich) oder womöglich das ganze Teil erstmal komplett zerlegt und dann aus einer Datenbank zusammengestellt wird, d.h. daß dieser Pfad im Dateisystem des Server garnicht existiert.
    Es kann also sehr wohl sein, daß ein Objekt mit einer auf .html endenden URI die Fähigkeit hat, Parameter zu verarbeiten - also warum verbieten.

    Und es ist im übrigen auch nicht vorgeschrieben, wie bzw. ob der Parameter ("query string") strukturiert sein soll.

    Du mußt lediglich darauf achten, daß keine Sonderzeichen benutzt werden. Verwende dazu Funktionen wie escape() oder encodeURI() (Javascript, andere Sprachen bieten ähnlich benannte Funktionen). Die Grundlage ist in http://www.w3.org/Addressing/rfc1738.txt, Abschnitt 2.2, beschrieben.

    Gruß,
      soenk.e