Comprender la estructura de las URL 🔗
Ves URL todos los días mientras usas Internet, pero puede que no sepas bien qué significa cada parte. ¡Entender la estructura de una URL hace que el desarrollo web sea mucho más fácil! Vamos a explorarlo paso a paso.
¿Comparar una URL con la vida cotidiana?
Comparemos una URL con una dirección postal.
La historia de la dirección postal 📬
España, Madrid, 28013, Calle Gran Vía 123, Edificio ABC, 5º Piso, Oficina 501
↓ ↓ ↓ ↓ ↓ ↓ ↓
País Ciudad Código Calle Edificio Piso Oficina
Postal
Una URL es similar:
https://www.example.com:443/products/shoes?color=red&size=10#reviews
↓ ↓ ↓ ↓ ↓ ↓
Protocolo Dominio Puerto Ruta Cadena de consulta Hash
Definición de URL
URL (Uniform Resource Locator)
- Dirección que indica la ubicación de un recurso (página, imagen, archivo, etc.) en Internet
- También se llama "dirección web" o "enlace"
Vista general de la estructura completa de una URL
https://user:pass@www.example.com:443/products/shoes?color=red&size=10#reviews
└──┬─┘ └────┬────┘└───────┬───────┘└┬┘└──────┬──────┘└────────┬────────┘└──┬──┘
Protocolo Autent. Dominio Puerto Ruta Cadena de consulta Hash/Fragmento
¡Vamos a examinar cada parte en detalle!
1. Protocolo (Protocol) 🔐
Cómo conectarse al sitio web
https://example.com
└──┬─┘
Protocolo
Principales protocolos
HTTP (HyperText Transfer Protocol)
http://example.com
- Método ordinario de conexión al sitio web
- Sin seguridad ⚠️
- Los datos no están cifrados
- Rara vez se usa hoy en día
HTTPS (HTTP Secure)
https://example.com
- Método de conexión al sitio web seguro 🔒
- Los datos están cifrados
- Estándar de sitios web modernos
- Muestra el icono de candado 🔒
Otros protocolos
ftp://example.com # Transferencia de archivos
mailto:user@email.com # Envío de correo electrónico
file:///C:/folder # Archivo local
¡Usa siempre HTTPS! Verifica siempre que sea HTTPS, especialmente al iniciar sesión, pagar o ingresar información personal.
2. Dominio (Domain) 🌐
El nombre del sitio web
https://www.example.com
└──────┬──────┘
Dominio
Estructura del dominio
www.example.com
└┬┘ └──┬──┘└┬┘
Sub- Nombre TLD
dominio (dominio de nivel superior)
Dominio de nivel superior (TLD - Top Level Domain)
.com → Comercial (más común)
.net → Red
.org → Organización/sin fines de lucro
.edu → Institución educativa
.gov → Gobierno
.io → IT/Startup (popular)
.es → España
Subdominio (Subdomain)
www.example.com → Sitio web
blog.example.com → Blog
api.example.com → Servidor API
admin.example.com → Página de administración
Ejemplo real
https://blog.example.es
└┬┘ └───┬──┘└┬┘
Sub- Principal TLD
dominio dominio
3. Puerto (Port) 🚪
Por qué puerta del servidor entrar
https://example.com:443
└┬┘
Puerto
Puerto predeterminado
Generalmente se omite (se añade automáticamente):
http://example.com → http://example.com:80 (automático)
https://example.com → https://example.com:443 (automático)
Números de puerto comunes
| Puerto | Uso |
|---|---|
| 80 | HTTP (Web) |
| 443 | HTTPS (Web seguro) |
| 21 | FTP (Transferencia de archivos) |
| 22 | SSH (Conexión remota) |
| 3000 | Servidor de desarrollo (Node.js) |
| 3306 | Base de datos MySQL |
| 5432 | PostgreSQL |
| 8080 | HTTP alternativo |
¿En desarrollo?
http://localhost:3000 # Servidor de desarrollo React
http://localhost:8080 # Spring Boot
http://127.0.0.1:5000 # Flask/Python
4. Ruta (Path) 📂
Una página o carpeta específica dentro del sitio web
https://example.com/products/shoes/nike
└────────┬────────┘
Ruta
Estructura de la ruta
/products/shoes/nike
└┬┘ └┬┘ └┬┘
Categoría Detalle Marca
Piénsalo como una estructura de carpetas real:
Sitio web
├── products/
│ ├── shoes/
│ │ ├── nike/
│ │ └── adidas/
│ └── clothes/
└── about/
Ejemplo real
https://github.com/facebook/react
└──────┬──────┘
Ruta
/usuario/repositorio
5. Cadena de consulta (Query String) 🔍
Información adicional o condiciones de búsqueda
https://example.com/search?q=javascript&sort=popular&page=2
└──────────────┬──────────────┘
Cadena de consulta
Estructura
?key1=value1&key2=value2&key3=value3
└┬┘ └── ┬──┘ └──┬──┘ └──┬──┘
Inicio Primera Separador Tercera
(clave=valor) (&) (clave=valor)
Ejemplos de uso real
Búsqueda
https://google.com/search?q=javascript
└─────┬────┘
Término de búsqueda: javascript
Filtrado
https://shop.com/products?category=shoes&color=red&size=10
└────────────┬────────────────┘
Categoría:shoes, Color:red, Tamaño:10
Paginación
https://blog.com/posts?page=2&limit=20
└──────┬──────┘
Página 2, 20 por página
Nota
Los caracteres españoles o especiales necesitan codificación:
Original: ?q=español
Codificado: ?q=espa%C3%B1ol
¡Puedes codificar fácilmente con URL Encoder!
6. Hash/Fragmento (Hash/Fragment) #️⃣
Una ubicación específica dentro de la página
https://example.com/docs#installation
└─────┬────┘
Hash
Uso
1. Navegación dentro de la página
<a href="#section1">Ir a la sección 1</a>
<h2 id="section1">Sección 1</h2>
2. SPA (Single Page Application)
https://app.com/#/home
https://app.com/#/profile
https://app.com/#/settings
Características
- No se envía al servidor
- Solo se usa en el navegador
- Navegación sin recargar la página
Ejemplos prácticos
Ejemplo 1: Sitio de comercio 🛍️
https://shop.example.com/products/electronics/laptops?brand=apple&price=1000-2000&sort=price#reviews
Protocolo: https
Dominio: shop.example.com
Ruta: /products/electronics/laptops
Cadena de consulta:
- brand=apple (Solo productos Apple)
- price=1000-2000 (Rango de precios)
- sort=price (Ordenar por precio)
Hash: #reviews (Ir a la sección de reseñas)
Ejemplo 2: Motor de búsqueda 🔍
https://www.google.com/search?q=web+development&hl=es&page=1
Protocolo: https
Subdominio: www
Dominio: google.com
Ruta: /search
Cadena de consulta:
- q=web+development (Término de búsqueda)
- hl=es (Español)
- page=1 (Primera página)
Ejemplo 3: Video de YouTube 🎥
https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=30s
Protocolo: https
Dominio: www.youtube.com
Ruta: /watch
Cadena de consulta:
- v=dQw4w9WgXcQ (ID del video)
- t=30s (Reproducir desde los 30 segundos)
Usar herramientas de análisis de URL
URL Params Parser
- Pega una URL para analizar automáticamente cada parte
- Muestra la lista de parámetros de la cadena de consulta
- Manejo automático de codificación/decodificación
Preguntas frecuentes (FAQ)
P1: ¿Puedo omitir el www?
R: ¡Sí! La tendencia actual es omitir el www.
https://example.com ✅
https://www.example.com ✅ (mismo sitio)
P2: ¿Hay un límite de longitud para las URL?
R: Técnicamente, alrededor de 2000 caracteres es seguro. ¡Pero cuanto más corto, mejor!
P3: ¿Las URL distinguen mayúsculas de minúsculas?
R: ¡Depende de la parte!
Dominio: no distingue mayúsculas/minúsculas
Example.com = example.com ✅
Ruta: distingue mayúsculas/minúsculas (según la configuración del servidor)
/About ≠ /about ⚠️
P4: ¿Puedo usar caracteres especiales?
R: ¡Solo algunos, la mayoría necesita codificación!
Caracteres seguros: A-Z a-z 0-9 - _ . ~
Necesitan codificación: espacio, español, ?, &, #, %, / etc.
Consejos para crear buenas URL 💡
1. Corto y claro
❌ https://example.com/p?id=12345&cat=3&subcategory=5
✅ https://example.com/products/shoes/nike-air
2. Usar palabras significativas
❌ /page1.php
✅ /about-us
❌ /item?id=123
✅ /products/laptop-dell-xps
3. Usar minúsculas
❌ /Products/SHOES
✅ /products/shoes
4. Usar guiones (-) (no guiones bajos)
❌ /web_development
✅ /web-development
5. Eliminar palabras innecesarias
❌ /and-the-product-is-shoes
✅ /products/shoes
Depuración de URL
Qué verificar cuando una URL no funciona:
Lista de comprobación
- ✅ ¿Hay un protocolo? (
https://) - ✅ ¿La ortografía del dominio es correcta?
- ✅ ¿Existe la ruta?
- ✅ ¿El formato de la cadena de consulta es correcto? (
?key=value&key2=value2) - ✅ ¿Los caracteres especiales están codificados?
Uso de herramientas
- URL Encoder - Verificar codificación
- URL Params Parser - Analizar estructura de URL
Próximos pasos 🚀
Si has entendido la estructura de las URL:
- ✅ Comprender solicitudes/respuestas HTTP - Cómo intercambiar datos con URL
- ✅ URL Encoder - Practicar codificación/decodificación de URL
- ✅ URL Params Parser - Herramienta de análisis de URL
- ✅ API Tester - Hacer solicitudes API con URL
- ✅ ¿Qué es la codificación? - Conocer más sobre la codificación de URL
Conclusión
¡Una URL es la dirección de Internet! 🏠
Puntos para recordar:
- Protocolo: https:// (seguro) vs http:// (no seguro)
- Dominio: nombre del sitio web (example.com)
- Puerto: generalmente omitido (443, 80)
- Ruta: ubicación de la página (/products/shoes)
- Cadena de consulta: información adicional (?color=red&size=10)
- Hash: ubicación dentro de la página (#section1)
¡Entender la estructura de las URL hace que el desarrollo web sea mucho más fácil! 🎉
Ahora, cuando veas una direcci ón de sitio web, ¿puedes entender qué significa cada parte?