Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

294
Vistas
JavaScript `URL`: ¿cuándo codificar al configurar `pathname`?

Al configurar el nombre de ruta de una URL , ¿cuándo debe codificar el valor que está configurando?

Cuando digo URL me refiero a esta API: https://developer.mozilla.org/en-US/docs/Web/API/URL

Cuando digo "establecer el nombre de la ruta" quiero decir hacer esto:

 url.pathname = 'some/path/to/a/resource.html';

Según la documentación de MDN, creo que la respuesta es "no debería ser necesario", ya que hay un ejemplo que cubre este caso:

Las URL se codifican de acuerdo con las reglas que se encuentran en RFC 3986. Por ejemplo:

 url.pathname = 'démonstration.html'; console.log(url.href); // "http://www.example.com/d%C3%A9monstration.html"

Sin embargo, me encontré con un caso en el que parece que necesito codificar el valor en el que estoy configurando el nombre de la pathname :

 url.pathname = 'atest/New Folder1234/!@#$%^&*().html'; console.log(url.href);

Espero que esto genere: http://example.com/atest/New%20Folder1234/!%40%23%24%25%5E%26*().html

Pero en su lugar estoy obteniendo: https://example.com/atest/New%20Folder1234/!@%23$%^&*().html

Parece obtener lo que espero que tengo que hacer:

 url.pathname = 'atest/New Folder1234/!@#$%^&*()'.split('/').map(encodeURIComponent).join('/')

¿Que esta pasando aqui? No puedo encontrar nada en la página de documentos de MDN para URL o nombre de pathname que explique esto. Eché un vistazo rápido a través de RFC 3986, pero eso parece describir la sintaxis de URI. He realizado algunos experimentos en un esfuerzo por encontrar algún tipo de patrón para este problema, pero nada me llama la atención.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Consulte la especificación para el estado de la ruta , en particular ...

Codificación porcentual UTF-8 c mediante el conjunto de codificación porcentual de la ruta y anexar el resultado al búfer.

con el conjunto de codificación porcentual de la ruta definido como...

el conjunto de codificación de porcentaje de consulta y U+003F (?), U+0060 (`), U+007B ({) y U+007D (}).

y el conjunto de codificación porcentual de la consulta es...

el conjunto de codificación de porcentaje de control C0 y U+0020 ESPACIO, U+0022 ("), U+0023 (#), U+003C (<) y U+003E (>).

puedes seguir sumergiéndote en la madriguera del conejo si quieres, pero creo que es suficiente

Tenga en cuenta que ninguno de estos conjuntos incluye @$%^& que son los caracteres que señaló.

Compárelos con la especificación deEncode , que es mucho más exhaustiva.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda