suit: Space am Ende eines URL erlaubt?

Folgendes ist gültiges HTML, da sind wir uns einig.

<a href="http://example.com/foo ">foo</a>

Aber ist das auch ein gültiger URL?

RFC 3986 sagt, dass Whitespace als Begrenzer für URIs dient - das ist aber nur für den Schriftverkehr gedacht, wenn ich das richtig lese. Hier ist sogar ein Whitespace mitten drin möglich.

Aber ist "http://example.com/foo " ein gültiger URL, wird der Wert des href-Attributes vorher getrimmt (bzw. ist das vorgeschrieben) - was kann also passieren, wenn ich Whitespace vor und nach dem Attributwert habe?

  1. Tach,

    Folgendes ist gültiges HTML, da sind wir uns einig.

    <a href="http://example.com/foo ">foo</a>

    Aber ist das auch ein gültiger URL?

    eine URI darf folgendes enthalten: Buchstaben, Zahlen, "-", ".", "_", "~" sowie die Zeichen mit Sonderbedeutung: ":", "/", "?", "#", "[" / "]" / "@" "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" / "%"

    mfg
    Woodfighter

    1. eine URI darf folgendes enthalten: Buchstaben, Zahlen, "-", ".", "_", "~" sowie die Zeichen mit Sonderbedeutung: ":", "/", "?", "#", "[" / "]" / "@" "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" / "%"

      Gut - aber was passiert nun mit dem Wert?

      Der Wert ist offenbar kein gültiger URL bzw. URI, er wird aber so dennoch von jedem mir bekannten Browser einwandfrei verfolgt.

    2. @@Jens Holzkämper:

      nuqneH

      eine URI darf folgendes enthalten: Buchstaben […]

      Damit meinst du [A-Za-z]? Oder tatsächlich alle Buchstaben, incl. griechischer, kyrillischer, CJK (wobei man da wohl nicht von Buchstaben spricht), …

      […] Zahlen

      Damit meinst du Ziffern.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Tach,

        eine URI darf folgendes enthalten: Buchstaben […]

        Damit meinst du [A-Za-z]? Oder tatsächlich alle Buchstaben, incl. griechischer, kyrillischer, CJK (wobei man da wohl nicht von Buchstaben spricht), …

        ich meine damit ALPHA, wie es in RFC 3986 benutzt, aber nicht definiert wird, gestern hatte ich nicht gesehen, dass auf RFC 2234 verwiesen wird, und damit bleibt von Buchstaben nur noch ALPHA =  %x41-5A / %x61-7A   ; A-Z / a-z

        […] Zahlen

        Damit meinst du Ziffern.

        korrekt

        mfg
        Woodfighter

    3. Hallo,

      eine URI darf folgendes enthalten: Buchstaben, Zahlen, "-", ".", "_", "~" sowie die Zeichen mit Sonderbedeutung: ":", "/", "?", "#", "[" / "]" / "@" "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" / "%"

      hochinteressant, aber kannst du auch die Quelle dieser Weisheit nennen - oder noch besser, Beispiele für die Sonderbedeutungen? Zu einigen der Zeichen, die du aufzählst, will mir nämlich absolut keine besondere Bedeutung einfallen:

      "[" / "]" / "!" / "$" / "'" / "(" / ")" / "*"

      So long,
       Martin

      --
      Ist die Katze gesund,
      freut sich der Hund.
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. Tach,

        hochinteressant, aber kannst du auch die Quelle dieser Weisheit nennen

        die von suit verlinkte RFC, Kapitel 2 und Anhang A.

        • oder noch besser, Beispiele für die Sonderbedeutungen? Zu einigen der Zeichen, die du aufzählst, will mir nämlich absolut keine besondere Bedeutung einfallen:
          "[" / "]" / "!" / "$" / "'" / "(" / ")" / "*"

        leider nein.

        mfg
        Woodfighter

      2. Hallo Martin,

        eine URI darf folgendes enthalten: Buchstaben, Zahlen, "-", ".", "_", "~" sowie die Zeichen mit Sonderbedeutung: ":", "/", "?", "#", "[" / "]" / "@" "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" / "%"

        hochinteressant, aber kannst du auch die Quelle dieser Weisheit nennen

        RFC3986, Section 2

        Freundliche Grüße

        Vinzenz

      3. Hallo,

        Zu einigen der Zeichen, die du aufzählst, will mir nämlich absolut keine besondere Bedeutung einfallen:

        "[" / "]"

        Host als IP-Literal (IPv6), siehe RFC3986, Section 3.2.2.

        Freundliche Grüße

        Vinzenz

    4. @@Jens Holzkämper:

      nuqneH

      <a href="http://example.com/foo ">foo</a>
      Aber ist das auch ein gültiger URL?

      Ist das die richtige Frage?

      eine URI darf folgendes enthalten: Buchstaben, Zahlen, "-", ".", "_", "~" sowie die Zeichen mit Sonderbedeutung: ":", "/", "?", "#", "[" / "]" / "@" "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" / "%"

      Als Wert von @href sollten nicht nur gültige URIs nach [RFC 3986] zulässig sein, sondern auch IRIs. (Daraufhin zielte meine Frage.)

      Grmpf, die HTML-Spec verwendet mal wieder ihre eigene Terminologie und deutet bestehende Begriffe um.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Tach,

        Als Wert von @href sollten nicht nur gültige URIs nach [RFC 3986] zulässig sein, sondern auch IRIs. (Daraufhin zielte meine Frage.)

        nachdem ich schon Ziffern und Zahlen vertauscht habe, ist es besser, dass ich das gestern nicht mehr versucht habe herauszufinden, was in einem href-Attribut stehen darf, sondern mich auf URIs beschränkt habe.

        mfg
        Woodfighter

  2. Folgendes ist gültiges HTML, da sind wir uns einig.
    <a href="http://example.com/foo ">foo</a>

    Aber ist das auch ein gültiger URL?

    Nach Anwendung von Parsing-Freiheiten ganz bestimmt:
    http://www.w3.org/TR/html4/types.html#type-cdata

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. @@Beat:

      nuqneH

      Nach Anwendung von Parsing-Freiheiten ganz bestimmt:
      http://www.w3.org/TR/html4/types.html#type-cdata

      Ach da steht’s.

      In der HTML5-Spec findet man: “The href attribute on a and area elements must have a value that is a valid URL potentially surrounded by spaces.”

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
    2. Aber ist das auch ein gültiger URL?

      Nach Anwendung von Parsing-Freiheiten ganz bestimmt:
      http://www.w3.org/TR/html4/types.html#type-cdata

      Danke, das hab' ich gesucht.