fragment-identifier - que - signo en url
Lista de caracteres válidos para el identificador de fragmento en una URL? (3)
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 | ";" | ":" | "@" | "&" | "=" ]
Estoy usando el identificador de fragmento para crear un enlace permanente para eventos AJAX en mi aplicación web similar a este tipo . 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. La 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.
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 con %[0-9a-fA-F]{2}
, algo que coincida con [a-zA-Z0-9]
, -
[a-zA-Z0-9]
, _
, ~
, :
, @
, /
y ?
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 puede contener #
, un %
, ^
, [
, ]
, {
, }
, /
, "
, <
y >
bruto según el RFC.