- From: Bjoern Hoehrmann <derhoermi@gmx.net>
- Date: Mon, 22 Dec 2014 16:39:31 +0100
- To: Sam Ruby <rubys@intertwingly.net>
- Cc: "public-ietf-w3c@w3.org" <public-ietf-w3c@w3.org>
* Sam Ruby wrote:
>I base my assertion that this is not a valid URI based on the following
>quote from RFC 3986:
>
> IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet
>
> dec-octet = DIGIT ; 0-9
> / %x31-39 DIGIT ; 10-99
> / "1" 2DIGIT ; 100-199
> / "2" %x30-34 DIGIT ; 200-249
> / "25" %x30-35 ; 250-255
>
>Do you come to a different conclusion?
The relevant part of the specification is
host = IP-literal / IPv4address / reg-name
The syntax rule for host is ambiguous because it does not completely
distinguish between an IPv4address and a reg-name. In order to
disambiguate the syntax, we apply the "first-match-wins" algorithm:
If host matches the rule for IPv4address, then it should be
considered an IPv4 address literal and not a reg-name.
`192.168.0.257` does not match IPv4address but does match `reg-name`.
Similarily, `http://127.0.%30.1/` also matches through `reg-name`.
["URI", [
["scheme", [
["ALPHA", [], 0, 1],
["ALPHA", [], 1, 2],
["ALPHA", [], 2, 3],
["ALPHA", [], 3, 4]], 0, 4],
["hier-part", [
["authority", [
["host", [
["reg-name", [
["unreserved", [
["DIGIT", [], 7, 8]], 7, 8],
["unreserved", [
["DIGIT", [], 8, 9]], 8, 9],
["unreserved", [
["DIGIT", [], 9, 10]], 9, 10],
["unreserved", [], 10, 11],
["unreserved", [
["DIGIT", [], 11, 12]], 11, 12],
["unreserved", [], 12, 13],
["pct-encoded", [
["HEXDIG", [
["DIGIT", [], 14, 15]], 14, 15],
["HEXDIG", [
["DIGIT", [], 15, 16]], 15, 16]], 13, 16],
["unreserved", [], 16, 17],
["unreserved", [
["DIGIT", [], 17, 18]], 17, 18]], 7, 18]], 7, 18]], 7,
18],
["path-abempty", [
["segment", [], 19, 19]], 18, 19]], 5, 19]], 0, 19]
--
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
D-10243 Berlin · PGP Pub. KeyID: 0xA4357E78 · http://www.bjoernsworld.de
Available for hire in Berlin (early 2015) · http://www.websitedev.de/
Received on Monday, 22 December 2014 15:40:17 UTC