Uri y url - Apendice: Gramatica para URI

12 - Apendice: Gramatica para URI

Tutorial creado por Chato. Extraido de: http://www.tejedoresdelweb.com/307/article-5671.html
04 de Enero de 2007

La siguiente es la gramática en BNF que corresponde a la especificación de URI.

URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
    absoluteURI   = scheme ":" ( hier_part | opaque_part )
    relativeURI   = ( net_path | abs_path | rel_path ) [ "?" query ]
    hier_part     = ( net_path | abs_path ) [ "?" query ]
    opaque_part   = uric_no_slash *uric
    uric_no_slash = unreserved | escaped | ";" | "?" | ":" | "@" |
                    "&" | "=" | "+" | "$" | ","
    net_path      = "//" authority [ abs_path ]
    abs_path      = "/"  path_segments
    rel_path      = rel_segment [ abs_path ]
    rel_segment   = 1*( unreserved | escaped |
                        ";" | "@" | "&" | "=" | "+" | "$" | "," )
    scheme        = alpha *( alpha | digit | "+" | "-" | "." )
    authority     = server | reg_name
    reg_name      = 1*( unreserved | escaped | "$" | "," |
                        ";" | ":" | "@" | "&" | "=" | "+" )
    server        = [ [ userinfo "@" ] hostport ]
    userinfo      = *( unreserved | escaped |
                       ";" | ":" | "&" | "=" | "+" | "$" | "," )
    hostport      = host [ ":" port ]
    host          = hostname | IPv4address
    hostname      = *( domainlabel "." ) toplabel [ "." ]
    domainlabel   = alphanum | alphanum *( alphanum | "-" ) alphanum
    toplabel      = alpha | alpha *( alphanum | "-" ) alphanum
    IPv4address   = 1*digit "." 1*digit "." 1*digit "." 1*digit
    port          = *digit
    path          = [ abs_path | opaque_part ]
    path_segments = segment *( "/" segment )
    segment       = *pchar *( ";" param )
    param         = *pchar
    pchar         = unreserved | escaped |
                    ":" | "@" | "&" | "=" | "+" | "$" | ","
    query         = *uric
    fragment      = *uric
    uric          = reserved | unreserved | escaped
    reserved      = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                    "$" | ","
    unreserved    = alphanum | mark
    mark          = "-" | "_" | "." | "!" | "~" | "*" | "'" |
                    "(" | ")"
    escaped       = "%" hex hex
    hex           = digit | "A" | "B" | "C" | "D" | "E" | "F" |
                            "a" | "b" | "c" | "d" | "e" | "f"
    alphanum      = alpha | digit
    alpha         = lowalpha | upalpha
    lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" |
               "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" |
               "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
    upalpha  = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" |
               "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" |
               "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"
    digit    = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |
               "8" | "9"

Sé el primero en opinar


Tutoriales relacionados con 'Uri y url'

Se explican las motivaciones de diseño y el formato de los Uniform Resource Identifiers (identificadores... Más »
Entiendase que AJAX no se refiere a usar el objeto XMLHttpRequest de manera indispensable porque... Más »
Cada vez que el servidor web recibe una petición de visualización de página hay mucha... Más »
Subversion es un sistema de control de versiones de código abierto, de propósitos similares al... Más »
Aunque por casualidad, he descubierto un pequeño bug de Wordpress con los trackbacks al enviarlos... Más »

Autor y licencia de 'Uri y url'

Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.