Re: 3 last issues with the URI syntax

>I should not have said "allowed" but "unescaped" as the reserved characters
>needs to be escaped according to section 2.2:
>
>   Many URI include components consisting of or delimited by, certain
>   special characters.  These characters are called "reserved", since
>   their usage within the URI component is limited to their reserved
>   purpose.  If the data for a URI component would conflict with the
>   reserved purpose, then the conflicting data must be escaped before
>   forming the URI.
>
>Let me put it this way:
>
>I _would_ have liked the grammar express what the URI really looks like,
>i.e. the grammar would have been better if you in the grammar could have
>seen what character needs to be escaped and not.
>
>As that is not the case for more places in the grammar, I suggest that we
>leave the grammar as it is.

Okay, but to hopefully relieve any concern here, I'd like to explain.
A reserved character may appear inside the component, and thus the grammar
does express what the URI really looks like.  For example, "&" is a
reserved character in a query component, which means

    http://no_where/man?foo&bar
and
    http://no_where/man?foo%26bar

are two different URI.  Thus, "&" is allowed in the grammar of a query
component.  The warning about it being reserved is an indication to the
implementer that it cannot be used safely as a data character within
that component unless it is escaped.

>>>(3) relative-path reference
>>>...
>>>To change to:
>>>
>>>   The syntax for relative URI is a shortened form of that for absolute
>>>   URI, where some prefix of the URI is missing and certain path
>>>   components ("." and "..") have a special meaning when, and only when,
>>>   interpreting a relative path.  The relative URI syntax is defined
>>>   in Section 5.
>>>
>>>I.e. the suggested text does not only state that the "." and ".." are to be
>>>treated when a relative URI is to be used, but also that it is to be
>>>resolved only in that case.
>>
>>Okay.
>
>Can you submit a "-04.txt" with the very tiny change above, and I'll do the
>bueraucratic job.

Done.  I'll include the diff below.

....Roy

*** draft-fielding-uri-syntax-03.txt	Thu Jun  4 18:25:38 1998
--- draft-fielding-uri-syntax-04.txt	Thu Jul 16 01:20:19 1998
***************
*** 1,7 ****
  Network Working Group                            T. Berners-Lee, MIT/LCS
  INTERNET-DRAFT                                 R. Fielding,  U.C. Irvine
! draft-fielding-uri-syntax-03              L. Masinter, Xerox Corporation
! Expires six months after publication date                   June 4, 1998
  
  
            Uniform Resource Identifiers (URI): Generic Syntax
--- 1,7 ----
  Network Working Group                            T. Berners-Lee, MIT/LCS
  INTERNET-DRAFT                                 R. Fielding,  U.C. Irvine
! draft-fielding-uri-syntax-04              L. Masinter, Xerox Corporation
! Expires six months after publication date                  June 16, 1998
  
  
            Uniform Resource Identifiers (URI): Generic Syntax
***************
*** 701,708 ****
  
     The syntax for relative URI is a shortened form of that for absolute
     URI, where some prefix of the URI is missing and certain path
!    components ("." and "..") have a special meaning when interpreting a
!    relative path.  The relative URI syntax is defined in Section 5.
  
  4.1. Fragment Identifier
  
--- 701,709 ----
  
     The syntax for relative URI is a shortened form of that for absolute
     URI, where some prefix of the URI is missing and certain path
!    components ("." and "..") have a special meaning when, and only when,
!    interpreting a relative path.  The relative URI syntax is defined
!    in Section 5.
  
  4.1. Fragment Identifier
  

Received on Thursday, 16 July 1998 04:51:04 UTC