Gunnar Bittersmann: rss wird nicht verlinkt! bitte um hilfe!

Beitrag lesen

Hello out there!

Beachte bitte: In „C|“ wird ein senkrechter Strich (kein großes i) statt des Doppelpunktes benutzt. Dies ist deshalb so, weil in URIs Doppelpunkte nur an bestimmten Stellen erlaubt sind.

Warum sollte ein ':' an dieser Stelle nicht erlaubt sein?

'file:///C:/foo/bar' mal nach [RFC3986] auseinandergenommen:

URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

'file' ist scheme, '///C:/foo/bar' ist hier-part.

hier-part   = "//" authority path-abempty
                  / path-absolute
                  / path-rootless
                  / path-empty

'/C:/foo/bar' ist authority path-abempty

authority   = [ userinfo "@" ] host [ ":" port ]

host        = IP-literal / IPv4address / reg-name

IP-literal und IPv4address matchen nicht, aber:

reg-name    = *( unreserved / pct-encoded / sub-delims )

reg-name ist also '', host auch, authority auch. Warum auch nicht? “The authority component is preceded by a double slash ("//") and is terminated by the next slash ("/") […]”

'/C:/foo/bar' ist damit path-abempty.

path-abempty  = *( "/" segment )

'C:' ist segment, ebenso wie 'foo' und 'bar'.

segment       = *pchar

pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"

Passt schon.

See ya up the road,
Gunnar

--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)