Back to Manual QA
1. Fundamentos de HTTP y Web
1. ¿Qué es HTTP?
HTTP (Protocolo de Transferencia de Hipertexto) es el protocolo utilizado para transferir datos a través de la web. Define cómo se formatean y transmiten los mensajes, y cómo deben responder los servidores web y los navegadores a varios comandos.
2. ¿Cuál es la diferencia entre HTTP y HTTPS?
HTTPS (Protocolo de Transferencia de Hipertexto Seguro) es la versión segura de HTTP. Utiliza cifrado SSL/TLS para proteger los datos transmitidos entre el cliente y el servidor.
3. ¿Cómo envía HTTPS las solicitudes de forma segura?
HTTPS utiliza TLS (Seguridad de la Capa de Transporte) o SSL (Capa de Sockets Seguros) para cifrar los datos. Implica un proceso de 'handshake' donde el servidor presenta un certificado para probar su identidad, y luego se establece una sesión segura y cifrada.
4. ¿Cómo se clasifican los códigos de estado HTTP (1xx, 2xx, 3xx, 4xx, 5xx)?
1xx: Informativo (Solicitud recibida, proceso en curso). 2xx: Éxito (Solicitud recibida, entendida y aceptada con éxito). 3xx: Redirección (Se debe tomar una acción adicional). 4xx: Error del cliente (La solicitud contiene una sintaxis incorrecta o no se puede cumplir). 5xx: Error del servidor (El servidor no pudo cumplir con una solicitud aparentemente válida).
5. ¿Qué es JSON y cómo se utiliza?
JSON (Notación de Objetos JavaScript) es un formato de intercambio de datos ligero. Es fácil de leer y escribir para los humanos y fácil de analizar y generar para las máquinas. Se utiliza comúnmente para transmitir datos en aplicaciones web (por ejemplo, enviar datos del servidor al cliente).
6. ¿Cuál es la diferencia entre cookies y caché?
Las cookies son pequeños archivos de texto almacenados en el lado del cliente utilizados para rastrear sesiones de usuario y preferencias. La caché es un almacenamiento temporal utilizado para almacenar recursos de páginas web (imágenes, scripts) para acelerar los tiempos de carga en visitas posteriores.
¿Qué es un Oráculo de Prueba?
Un mecanismo, diferente del programa en sí, utilizado para determinar si el resultado de una ejecución de prueba es correcto (por ejemplo, una especificación, un programa separado o juicio humano).