path-abempty in URI

I would like clarification about the ABNF in RFC3986.

My understanding from reading the text is that <path-abempty> exists to ensure
that there is always an authority between the // that comes after scheme: and
before the // that may start a path, so that
     scheme://example.com//a?valid=yes
is permissible while
     scheme:////?invalid
is not.  But the ABNF for authority is (selectively)
 authority     = host
   host          =  reg-name
    reg-name      = *( unreserved / pct-encoded / sub-delims )
which allows authority to be zero characters so that
     scheme:////SERVERA/////////////////////////?abnf=ok
where the path is //SERVERA///...
is allowed.

Comments?

Tom Petch

Received on Saturday, 7 January 2006 17:05:40 UTC