Analizador de URL

Analiza y obtén detalles de cualquier URL para mejorar la comprensión y el uso de los enlaces web.

5 de 2 calificaciones
Analizador de URL

El Analizador de URL es una herramienta gratuita que separa una dirección web en su esquema, ruta y cadena de consulta.

¿Qué datos extrae un analizador de URL?

Un analizador de URL identifica los componentes estructurales de una dirección web sin que tengas que dividir el texto manualmente. Esta herramienta devuelve tres campos generados mediante la función parse_url de PHP.

  • Esquema identifica el protocolo o esquema de direccionamiento, como https o http.
  • Ruta identifica el componente de ruta, como /account/orders/42.
  • Consulta contiene el texto situado después del signo de interrogación que inicia el componente de consulta y antes de cualquier almohadilla sin codificar, como page=2&sort=date.

Analizar una URL resulta útil al revisar solicitudes de API, URL de devolución de llamada, registros de aplicaciones o datos de terceros. Te permite distinguir la información de enrutamiento de los parámetros de consulta antes de depurar, registrar o transformar la dirección.

Los campos devueltos no incluyen por separado el nombre de host, el puerto ni el fragmento. Si necesitas esos componentes, utiliza en tu aplicación una biblioteca de análisis de URL más completa.

¿Cómo uso el Analizador de URL?

Introduce la URL completa o parcial y revisa los valores de esquema, ruta y consulta que devuelve la herramienta. Una URL absoluta completa suele ofrecer el resultado más claro porque especifica el esquema de forma explícita.

  1. Copia la URL del navegador, de la respuesta de una API, del registro de un webhook o del registro del servidor.
  2. Incluye la cadena de consulta si necesitas revisar los nombres o valores de los parámetros.
  3. Compara la ruta devuelta con la que espera tu aplicación.
  4. Comprueba que el esquema y la consulta estén presentes si tu integración los necesita.
La herramienta Analizador de URL en digily.link, con su formulario de entrada

El procesamiento se realiza en el servidor. Los datos que introduces se envían al servidor mediante HTTPS y no se almacenan. Aun así, evita enviar tokens de acceso activos, enlaces de descarga firmados, identificadores de sesión u otras credenciales si un ejemplo con esos datos ocultos permite resolver la misma duda.

Ejemplos prácticos y cómo interpretar los resultados

En una URL absoluta de API, el analizador separa el protocolo de la ruta y de la cadena de consulta sin procesar.

Entrada https://api.example.co.uk/v1/orders/42?expand=items&currency=GBP

Esquema https

Ruta /v1/orders/42

Consulta expand=items&currency=GBP

La consulta se devuelve como un único componente. Según la convención habitual de formularios y cadenas de consulta, el ampersand separa los campos, mientras que el primer signo igual de cada campo separa su nombre de su valor. Analizar la URL no confirma por sí solo que expand o currency sean parámetros reconocidos por la API.

Una referencia relativa también puede contener una ruta y una consulta sin especificar un esquema.

Entrada /search?q=red%20shoes&page=2

Esquema no scheme component

Ruta /search

Consulta q=red%20shoes&page=2

La ausencia de esquema suele ser normal en enlaces generados dentro de un mismo sitio web. Sin embargo, si los datos deberían contener URL absolutas de devolución de llamada, el mismo resultado puede revelar que falta el prefijo https://.

Este analizador no valida URL. Puede ayudarte a detectar estructuras sospechosas, como un esquema ausente, una ruta inesperada o texto de consulta en un lugar incorrecto. Sin embargo, obtener un resultado del análisis no demuestra que la dirección exista, se resuelva mediante DNS o devuelva una respuesta HTTP satisfactoria.

Ejemplo de resultado generado por la herramienta Analizador de URL

¿Qué ocurre con los espacios, la puntuación y las entradas poco habituales?

Los caracteres reservados influyen en cómo se divide una URL, mientras que los caracteres codificados suelen permanecer en el componente en el que aparecen. El analizador separa los componentes, pero no decodifica ni normaliza su contenido.

  • Un signo de interrogación sin codificar inicia el componente de consulta. Si quieres usar un signo de interrogación literal como dato fuera de una consulta existente, debes codificarlo mediante porcentaje cuando, de otro modo, se interpretaría como delimitador de la consulta.
  • El ampersand suele separar parámetros de consulta, pero esta herramienta devuelve la cadena de consulta completa en lugar de interpretar cada parámetro por separado.
  • Una almohadilla sin codificar (#) delimita el fragmento en la sintaxis estándar de las URL. Los datos del fragmento no forman parte de los campos que devuelve esta herramienta.
  • Normalmente, los espacios deben codificarse, por lo general como %20. Un signo más puede representar un espacio en datos de consulta codificados como formulario, pero esa interpretación corresponde a la decodificación de la consulta, no al análisis de la URL.
  • El texto con acentos o caracteres no latinos en la ruta o la consulta debe usar codificación porcentual UTF-8 cuando lo exija el sistema receptor. Los nombres de dominio internacionalizados utilizan su formato compatible con ASCII para favorecer una amplia compatibilidad con los protocolos.
  • Los números no reciben ningún tratamiento especial durante el análisis. Se mantienen como caracteres normales dentro de una ruta o del valor de una consulta.

Una entrada vacía no contiene ninguna estructura de URL útil que revisar. Las URL muy largas también pueden encontrarse con límites en otros sistemas, incluidos navegadores, servidores web, proxies y frameworks de aplicaciones. Esta herramienta no determina si otro sistema aceptará una URL de una longitud concreta.

¿Cuándo merece la pena analizar una URL?

Conviene analizar una URL cuando necesitas diagnosticar cómo está estructurada una dirección antes de que el código o la infraestructura actúen sobre ella. Algunos casos habituales son comprobar direcciones de devolución de llamada de webhooks antes de desplegarlas, revisar destinos de redirección, separar rutas de API de los filtros y leer URL copiadas de registros de proxies inversos.

Por lo general, no es necesario si una URL conocida y ya estructurada solo va a ser procesada por una máquina y tu aplicación ya utiliza una biblioteca para URL. Tampoco es la operación adecuada si necesitas comprobar la disponibilidad, seguir redirecciones, decodificar todos los parámetros de consulta o verificar que un dominio sea fiable.

Para tareas repetitivas o automatizadas, utiliza las funciones de URL propias de tu entorno. PHP cuenta con parse_url, JavaScript en el navegador tiene la interfaz URL, Node.js ofrece la clase URL y Python incluye urllib.parse. Si vas a procesar un archivo de registro con miles de direcciones, un pequeño script de línea de comandos resulta más apropiado que el análisis manual.

No analices una URL solo para reformatearla si ya tiene exactamente la representación que necesita el sistema receptor. Volver a codificar o reconstruir direcciones sin un motivo claro puede alterar las firmas de la consulta, los parámetros duplicados o los caracteres reservados.

Preguntas frecuentes

¿Puedo analizar una URL sin http ni https?

Sí. La función parse_url de PHP puede interpretar referencias relativas y URL parciales, aunque no habrá ningún esquema disponible si no se proporcionó uno. Ten cuidado con las direcciones relativas al esquema que empiezan por dos barras, ya que su significado depende del documento o de la aplicación que las contiene.

¿Se conservan los parámetros de consulta repetidos?

Sí, la consulta se devuelve como un componente sin procesar, por lo que los nombres repetidos pueden mantenerse en su secuencia original. La forma en que valores como tag=red&tag=blue se convierten en matrices o valores individuales depende del analizador de cadenas de consulta que se utilice después.

¿Es seguro pegar una URL firmada?

La entrada se envía mediante HTTPS y no se almacena, pero una URL firmada puede seguir dando acceso a contenido privado mientras su firma sea válida. Oculta el token o sustituye el nombre de host y los valores por marcadores representativos siempre que no sean necesarias las credenciales exactas.

¿Por qué una URL que parece válida se comporta de forma distinta en mi aplicación?

Las diferencias pueden deberse a la decodificación de consultas y a la normalización Unicode específicas de cada framework. Las aplicaciones también pueden aplicar reglas adicionales después del análisis, incluidas listas de nombres de host permitidos y restricciones de redirección. Compara la URL sin procesar byte por byte y, después, comprueba qué decodifica o reescribe tu aplicación antes de enviar la solicitud.

Herramientas populares