* HTTP (Protocolo de transferencia de hipertexto) es el protocolo subyacente utilizado por la World Wide Web para transferir datos. Es un apátrida , cliente-servidor protocolo.
Los mensajes HTTP se intercambian entre un cliente (por ejemplo, un navegador web) y un servidor (por ejemplo, un servidor web).
El cliente envía una solicitud HTTP al servidor y el servidor responde con una respuesta HTTP.
Estructura de la solicitud HTTP
La estructura de una solicitud HTTP consta de los siguientes componentes:
* Línea de salida :La línea de inicio de una solicitud HTTP consta de la versión HTTP, el método HTTP y la ruta o URL de la solicitud.
Por ejemplo:
```
OBTENER /index.html HTTP/1.1
```
* Encabezados :Los encabezados de una solicitud HTTP contienen información sobre el cliente, la solicitud y el recurso solicitado. Algunos encabezados comunes incluyen:
- Agente de usuario:contiene información sobre el agente de usuario (por ejemplo, navegador web) que realiza la solicitud.
- Host:especifica el nombre de host y el puerto del servidor al que se envía la solicitud.
- Aceptar:Especifica los tipos MIME de respuestas que el cliente puede aceptar.
- Tipo de contenido:Especifica el tipo MIME del cuerpo de la solicitud.
* Cuerpo :El cuerpo de una solicitud HTTP puede contener datos que el cliente envía al servidor. Por ejemplo, al enviar un formulario, los datos del formulario normalmente se incluyen en el cuerpo de la solicitud.
Estructura de la respuesta HTTP
La estructura de una respuesta HTTP consta de los siguientes componentes:
* Línea de salida :La línea de inicio de una respuesta HTTP consta de la versión HTTP, el código de estado y el mensaje de estado.
Por ejemplo:
```
HTTP/1.1 200 correcto
```
- El código de estado indica si la solicitud fue exitosa (por ejemplo, 200 OK) o si hubo un error (por ejemplo, 404 No encontrado, 500 Error interno del servidor).
- El mensaje de estado es una descripción legible por humanos del código de estado.
* Encabezados :Los encabezados de una respuesta HTTP contienen información sobre el servidor, la respuesta y el recurso solicitado. Algunos encabezados comunes incluyen:
- Servidor:Contiene información sobre el servidor que está respondiendo a la solicitud.
- Tipo de contenido:Especifica el tipo MIME del cuerpo de la respuesta.
- Content-Length:Especifica la longitud en bytes del cuerpo de la respuesta.
* Cuerpo :El cuerpo de una respuesta HTTP puede contener el recurso solicitado u otros datos que el servidor proporciona al cliente. Por ejemplo, al solicitar una página HTML, el cuerpo de la respuesta contendrá el código HTML de la página.