Fragmento de URL(#) caracteres permitidos
fragment-identifier (2)
tl; dr
El componente identificador de fragmento puede contener:
-
0
-9
-
a
-z
-
A
-Z
-
?
/
:
@
-
.
_
~
!
$
&
''
(
)
*
+
;
=
-
caracteres codificados por ciento (un
%
seguido de dos dígitos hexadecimales)
¿Cómo puedo averiguar esto?
El estándar URI es STD 66 , que actualmente se asigna a RFC 3986 .
En este documento, encontrará todo lo que necesita saber.
El componente identificador de fragmento se define en la sección 3.5 :
fragment = *( pchar / "/" / "?" )
Esto significa que el fragmento no puede contener nada o (cualquier combinación de)
- caracteres definidos en pchar
-
el
/
-
el
?
Definición de
pchar
Consulte el apéndice A. para ver cómo se define pchar :
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
Entonces esto agrega
- caracteres definidos en sin reservas
- caracteres definidos en codificado por pct
- caracteres definidos en subdelimitaciones
-
el
:
-
el
@
Definición de no
unreserved
Ahora compruebe cómo se define sin reservas :
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Esto agrega
- caracteres definidos en ALFA
- caracteres definidos en DIGIT
-
el
-
-
el
.
-
el
_
-
el
~
Definición de
ALPHA
y
DIGIT
Verifique cómo se definen ALPHA y DIGIT. No se enumeran en el apéndice, porque son de las reglas básicas de ABNF , como se explica en la sección 1.3 :
ALFA (letras), […] DÍGITO (dígitos decimales) […]
Entonces esto agrega
-
a
-z
,A
-Z
-
0
-9
Definición de
pct-encoded
Compruebe cómo se define la codificación pct :
pct-encoded = "%" HEXDIG HEXDIG
Esto permite cualquier carácter codificado en porcentaje .
Definición de
sub-delims
Comprueba cómo se definen las subdelimitaciones :
sub-delims = "!" / "$" / "&" / "''" / "(" / ")" / "*" / "+" / "," / ";" / "="
Esto agrega
-
el
!
-
los
$
-
el
&
-
el
''
-
el
(
-
el
)
-
el
*
-
el
+
- el
- el
-
el
=
Después de investigar un poco en Internet, no pude encontrar una buena respuesta a los caracteres que puedo usar para el fragmento de URL. Estoy escribiendo un script javascript que aprovechará los fragmentos de URL.
Quería hacer que la URL sea amigable para los ojos al no hacer que parezca demasiado complicada. Así que me preguntaba si podría usar caracteres como '':,?, & Or!'' en el fragmento de URL y todavía lo tiene válido.
Mi fragmento de URL debe contener los siguientes valores:
-
ordenar por
- carné de identidad
- desc o asc
-
camino
- / the / full / escaped / path / here /
Es un poco complicado encontrar los caracteres válidos, pero el archivo comentado anteriormente contiene la información si lees lo suficientemente profundo.
Los caracteres disponibles son los siguientes:
- "!"
- PS
- "&"
- "''"
- "("
- ")"
- "*"
- "+"
- ","
- ";"
- "="
- "?"
- "@"
- ALFA
- DÍGITO
- "-"
- "."
- "_"
- "~"
- "%" HEXDIG HEXDIG
- ":"
- "/"