Sobes.tech
Intern

¿Qué es HTTP?

sobes.tech AI

Respuesta de la IA

Protocolo de transferencia de hipertexto. Protocolo de red de nivel de aplicación para el intercambio de datos.

Características principales:

  • Arquitectura cliente-servidor: El cliente (por ejemplo, un navegador) envía una solicitud al servidor, que procesa la solicitud y devuelve una respuesta.
  • Sin estado (stateless): Cada solicitud se procesa de manera independiente de las anteriores. El estado de la sesión se mantiene en niveles superiores (por ejemplo, mediante cookies).
  • Utiliza TCP: El protocolo de transporte por defecto es TCP, que garantiza una entrega fiable de datos.
  • Puerto 80: Puerto estándar para HTTP.
  • Métodos de solicitud (HTTP methods/verbs): Determinan el tipo de acción que se debe realizar sobre el recurso.
    • GET: Solicitar datos del recurso especificado.
    • POST: Enviar datos para procesar o crear un nuevo recurso.
    • PUT: Actualizar un recurso existente o crear uno nuevo en el URI especificado.
    • DELETE: Eliminar el recurso especificado.
    • PATCH: Actualización parcial del recurso.
    • HEAD: Solicitar los encabezados de respuesta, similar a GET, pero sin cuerpo.
    • OPTIONS: Solicitar información sobre los métodos disponibles y otras opciones de comunicación para el recurso objetivo.
  • Códigos de estado de respuesta (Status Codes): Números de tres dígitos que indican el resultado de la solicitud.
    • 1xx: Informativo
    • 2xx: Éxito - 200 OK
    • 3xx: Redirección
    • 4xx: Error del cliente - 404 Not Found
    • 5xx: Error del servidor - 500 Internal Server Error

Estructura del mensaje HTTP:

Parte Solicitud (Request) Respuesta (Response)
Línea de inicio Método URI Versión HTTP (por ejemplo, GET / HTTP/1.1) Versión HTTP Código de estado Frase de estado (por ejemplo, HTTP/1.1 200 OK)
Encabezados Par "Nombre-Valor" (por ejemplo, Host: example.com) Par "Nombre-Valor" (por ejemplo, Content-Type: text/html)
Línea vacía Separa los encabezados del cuerpo. Separa los encabezados del cuerpo.
Cuerpo Opcional. Contiene datos para enviar (por ejemplo, formularios). Opcional. Contiene los datos solicitados (por ejemplo, página HTML).

Ejemplo de solicitud HTTP:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Ejemplo de respuesta HTTP:

HTTP/1.1 200 OK
Date: Tue, 25 Jun 2024 10:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<!DOCTYPE html>
<html>
<head>
    <title>Index Page</title>
</head>
<body>
    HelloWorld!
</body>
</html>

Se utiliza para transmitir documentos hipermedia (HTML, imágenes, videos) en la World Wide Web. HTTPS es la versión segura de HTTP que utiliza cifrado (SSL/TLS).