Pregunta Lista de caracteres válidos para el identificador de fragmento en una URL?


Estoy usando el identificador de fragmento para crear un enlace permanente para eventos AJAX en mi aplicación web similar a este chico. Algo como:

http://www.myapp.com/calendar#filter:year/2010/month/5

He hecho bastante búsqueda pero no puedo encontrar una lista de caracteres válidos para el fragmento idenitifer. los Especificación W3C no ofrece nada

¿Debo codificar los caracteres de la misma manera que la URL en general?

No parece haber buena información sobre esto en ninguna parte.


75
2018-05-17 14:16


origen


Respuestas:


Ver el RFC 3986.

fragment    = *( pchar / "/" / "?" )
pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"    
unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
pct-encoded   = "%" HEXDIG HEXDIG
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
                 / "*" / "+" / "," / ";" / "="

Entonces puedes usar !, $, &, ', (, ), *, +, ,, ;, =, algo que coincida %[0-9a-fA-F]{2}, algo que coincida [a-zA-Z0-9], -, ., _, ~, :, @, /y ?


86
2018-05-17 14:22



http://tools.ietf.org/html/rfc3986#section-3.5:

fragment    = *( pchar / "/" / "?" )

y

pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"
unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
              / "*" / "+" / "," / ";" / "="
pct-encoded   = "%" HEXDIG HEXDIG

Entonces, combinado, el fragmento no poder Contiene #, un crudo %, ^, [, ], {, }, \, ", < y > de acuerdo con el RFC.


28
2018-05-17 14:26



Otro RFC habla de eso: RFC-1738

URL schemeparts for ip based protocols:
HTTP

httpurl        = "http://" hostport [ "/" hpath [ "?" search ]]
hpath          = hsegment *[ "/" hsegment ]
hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
search         = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

0
2018-04-02 12:53