W3C home > Mailing lists > Public > www-validator@w3.org > July 2002

URI and escape mechanism

From: Karl Dubost <karl@w3.org>
Date: Wed, 10 Jul 2002 18:38:23 -0400
Message-Id: <a05111b53b95255d7b059@[24.201.26.36]>
To: www-validator@w3.org

Question:

http://www.example.org/check?uri=http://www.example.net/path/to/yourfile.html&lang=en

If we escape "&" only the validator will be fine... but the RFC seems 
to say you have to escape also the "/"

Except that the validator on port 8001 have all ok... hmmm not good.

I have created a test file at http://www.w3.org/2002/07/escape-URI-test.html



For The References See below
*****************************
In RFC2396 [1]  Uniform Resource Identifiers (URI): Generic Syntax



A) A generic URI syntax consists of a sequence of four main components:

       <scheme>://<authority><path>?<query>

B) in 3.4. Query Component

    The query component is a string of information to be interpreted by
    the resource.

       query         = *uric

    Within a query component, the characters ";", "/", "?", ":", "@",
    "&", "=", "+", ",", and "$" are reserved.

C) in 2.2. Reserved Characters

    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.

       reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                     "$" | ","

    The "reserved" syntax class above refers to those characters that are
    allowed within a URI, but which may not be allowed within a
    particular component of the generic URI syntax; they are used as
    delimiters of the components described in Section 3.



[1] http://www.ietf.org/rfc/rfc2396.txt

-- 
Karl Dubost / W3C - Conformance Manager
           http://www.w3.org/QA/

      --- Be Strict To Be Cool! ---
Received on Wednesday, 10 July 2002 18:38:58 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 25 April 2012 12:14:03 GMT