url fragment-identifier

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
  • ":"
  • "/"