¿Sobre qué protocolo binario está montado el protocolo HTTP?
HTTP/2 está montado sobre un protocolo binario TCP, lo que permite la compactación de cabeceras y la multiplexación de respuestas. HTTP/3, por su parte, estará montado sobre QUIC, que también es un protocolo binario.
¿Cuáles son los clientes HTTP y los servidores HTTP más utilizados?
- Clientes HTTP: Navegadores web como Chrome, Firefox, Edge, Safari, CURL, y librerías nativas de diversos lenguajes de desarrollo.
- Servidores HTTP: Apache, Nginx, IIS (Internet Information Services), y en algunos casos, servidores de aplicaciones como Tomcat (aunque Tomcat no es un webserver per se, sino una JVM que puede interpretar código Java).
¿Qué verbos admite un comando en el requerimiento HTTP?
- GET: Para solicitar un recurso.
- POST: Para enviar datos al servidor, típicamente para crear o actualizar un recurso.
- DELETE: Para eliminar un recurso en el servidor.
- PUT: Para actualizar o crear un recurso en el servidor.
- CONNECT: Utilizado por proxies para establecer un túnel de comunicación.
¿Qué contenido lleva el body de un requerimiento HTTP?
El body de un requerimiento HTTP puede contener datos en cualquier formato. Esto incluye:
- Texto plano
- Datos enviados en formularios
- Archivos en procesos de carga (upload)
- Datos binarios
- En caso de un formulario, el body puede incluir variables del formulario y otros datos enviados al servidor.
¿Qué diferencia existe entre un URL y un URI?
- URI (Uniform Resource Identifier): Es una cadena de caracteres que identifica un recurso de forma unívoca en la web. Puede incluir tanto localizadores (URLs) como nombres (URNs).
- URL (Uniform Resource Locator): Es un tipo específico de URI que no solo identifica un recurso, sino que también proporciona los medios para localizarlo (por ejemplo, indicando su dirección en la red).
¿Cómo se almacena información relacionada con las respuestas HTTP?
La información relacionada con las respuestas HTTP se almacena en caches. Existen diferentes mecanismos de cacheo, como:
- Cache basado en fechas: Utilizando cabeceras como 'If-Modified-Since' para determinar si un recurso ha sido modificado.
- Cache basado en ETags: Utilizando etiquetas únicas para identificar versiones de un recurso y decidir si es necesario descargarlo nuevamente.
¿Qué significa Virtual hosting?
Virtual Hosting permite a un servidor web atender múltiples dominios (y por ende múltiples sitios web) usando una única dirección IP. Esto se configura a través del servidor web, que puede determinar el host virtual basado en la información del encabezado 'Host' enviado por el cliente.
¿Por qué el HTTP se considera STATELESS?
El protocolo HTTP se considera "stateless" o sin estado porque cada petición se maneja de forma independiente. No hay persistencia de información de una petición a otra por parte del servidor, lo que significa que el servidor no guarda información sobre sesiones anteriores del cliente.
¿Qué nueva versión de HTTP se está usando para mejorar la velocidad de la WEB?
La versión HTTP/2 se ha estado utilizando para mejorar la velocidad de la web, y desde 2015 está en funcionamiento. Además, HTTP/3, que se basa en QUIC, se está comenzando a utilizar para mejorar aún más la velocidad y la eficiencia en la web.
¿Cómo va a mejorar el comportamiento de una aplicación WEB en ambientes ruidosos o de débil conexión?
HTTP/3 mejora el comportamiento de una aplicación web en ambientes ruidosos o con conexiones débiles gracias a su implementación sobre QUIC. QUIC permite una mejor capacidad de reconexión, multiplexación de streams, y es más resistente a la pérdida de paquetes, lo que mejora la velocidad y fiabilidad en redes inestables.