Expansor de Plantillas URI (RFC 6570)
Red
Las plantillas URI de RFC 6570 describen cómo construir una URL a partir de variables, y están en todas partes: la API de GitHub, las plantillas de ruta de OpenAPI/Swagger y los enlaces de hipermedia (HAL/JSON-LD) las usan. Una plantilla como `https://api.example.com{/version}/users{/id}{?fields*,page}` se expande contra un conjunto de variables a una URL real. Esta herramienta implementa los cuatro niveles de la especificación — expansión simple `{var}`, los operadores reservado (`{+var}`) y fragmento (`{#var}`), etiqueta (`.`), ruta (`/`), parámetro estilo-ruta (`;`), consulta de formulario (`?`) y continuación (`&`) — más los modificadores explode (`*`) y prefijo (`:n`) y el manejo correcto de valores vacíos e indefinidos. Proporciona las variables como un objeto JSON cuyos valores sean cadenas, números, listas o mapas clave/valor; la salida se codifica en porcentaje exactamente como exige el operador. Está verificada contra la suite completa de ejemplos de RFC 6570. Todo corre localmente — no se sube nada.
URL expandida
https://api.example.com/v2/users/42?fields=name&fields=email&page=1
Implementa los cuatro niveles de RFC 6570: operadores + : # . / ; ? & con modificadores explode (*) y prefijo (:n).
Cómo usar
- Escribe una plantilla URI con {llaves}, p. ej. {/path}{?query*}.
- Proporciona las variables como objeto JSON (cadenas, números, arrays u objetos).
- Lee la URL expandida y cópiala; ajusta plantilla o variables para ver el resultado en vivo.
Preguntas frecuentes
- ¿Qué significan los operadores?
- El primer carácter dentro de las llaves elige un operador: ninguno = valores simples unidos por comas; `+` mantiene sin escapar los caracteres reservados; `#` hace un fragmento; `.` una etiqueta; `/` segmentos de ruta; `;` parámetros estilo-ruta `;name=value`; `?` una consulta de formulario `?name=value`; `&` una continuación de consulta. Cada uno controla su separador y si se incluyen los nombres.
- ¿Qué hacen `*` y `:n`?
- `*` es el modificador explode: una lista o mapa se expande en componentes separados (p. ej. `{?list*}` → `?list=a&list=b` en vez de `?list=a,b`). `:n` es un modificador de prefijo que trunca un valor de cadena a los primeros n caracteres antes de codificar (p. ej. `{var:3}` de `value` → `val`).
- ¿Cómo paso listas y mapas?
- Usa JSON: una lista es un array (`"fields": ["name","email"]`) y un mapa asociativo es un objeto (`"keys": {"semi": ";"}`). Cadenas y números son escalares. Una variable ausente, null, lista vacía u objeto vacío se trata como indefinida y no aporta nada a la salida.
- ¿Es correcta la codificación?
- Sí — los valores se codifican en porcentaje según el conjunto permitido del operador. Los operadores simples y la mayoría codifican todo fuera del conjunto no reservado, mientras que `+` y `#` también dejan pasar los caracteres URL reservados (y los tripletes %XX existentes), igual que RFC 6570. La implementación pasa la tabla completa de ejemplos de la especificación.
Herramientas relacionadas
Formateador de Direcciones MAC
Reformatea una dirección MAC entre notación con dos puntos, guion, punto de Cisco y sin separador, en mayúsculas o minúsculas — y ve su tipo unicast/multicast y universal/local.
Conversor de Direcciones IPv4
Convierte una dirección IPv4 entre decimal con puntos, entero de 32 bits, hex y binario — y mira si es privada, pública, loopback y más.
Referencia de Registros DNS
Hoja de referencia buscable de tipos de registro DNS — A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, SRV, CAA, DNSSEC, SVCB / HTTPS — con ejemplos.
Calculadora de Subred (IPv4 / CIDR)
Parsea CIDR IPv4 en dirección de red, broadcast, netmask, wildcard, rango de hosts y clase. Muestra desglose binario y estado privado/público.
Parser de User Agent
Parsea string User-Agent en navegador, engine, OS, dispositivo y CPU. Detecta 20+ bots incluyendo GPTBot, ClaudeBot, PerplexityBot.
Referencia de Códigos de Estado HTTP
Lista buscable de todos los códigos HTTP (1xx-5xx) con resumen, RFC, cuándo usar y trampas frecuentes.