El protocolo HTTP
Esta lección comenta algunos aspectos del protocolo HTTP importantes para
entender el funcionamiento de las cookies, que se tratan en la lección sobre cookies.
Comunicación entre el cliente y el servidor
Cuando un usuario solicita una página web a un servidor, el proceso se puede
describir (de forma simplificada) en cuatro pasos:
- El navegador solicita al servidor el documento mediante una solicitud
HTTP.
- El servidor prepara el documento.
- El servidor envía el documento al navegador mediante una respuesta
HTTP.
- El navegador muestra el documento al usuario.

Solicitudes HTTP
La solicitud HTTP está formada por varias líneas de texto:
- La línea de solicitud, que incluye:
- El método que se va a utilizar (GET, POST, TRACE, etc.).
- La ubicación del documento solicitado (URI).
- La versión del protocolo HTTP.
- Los campos de cabecera, que pueden incluir entre otros:
- Referer: dirección de donde se ha obtenido la dirección del documento
solicitado (si una página A contiene un enlace a otra página B, el
navegador solicita en la línea de petición la página B, pero también
envía la dirección de la página A como referer).
- User-agent: información sobre el navegador (nombre, versión,
etc).
- Accept: tipos MIME, juegos de caracteres, codificaciones, idiomas,
etc. admitidos por el navegador.
- Cookies: Si el servidor ha almacenado previamente cookies en el
cliente, estas se incluyen en las peticiones.
- Una línea en blanco.
- El cuerpo del mensaje, que incluye texto opcional como por ejemplo:
- datos de un formulario cuyo método sea POST
Respuestas HTTP
La respuesta HTTP está formada por varias líneas de texto:
- La línea de estado, que incluye:
- La versión del protocolo HTTP.
- El código de status (403, 404, 500, etc.).
- El texto asociado al código de status (403=Forbidden, 404=Not found,
500=Internal Server Error, etc.).
- Los campos de cabecera, que pueden incluir entre otros:
- Location: permite decirle al cliente que solicite otro documento en
lugar del documento solicitado inicialmente.
- Content: tipo MIME, juego de caractere, codificación, idioma, etc.
del documento enviado.
- Set-Cookie: permite decirle al cliente que cree una cookie.
- Una línea en blanco.
- El cuerpo del mensaje, que incluye el documento solicitado por el
cliente.
Esta página forma parte del curso "Páginas web con PHP" disponible en http://www.mclibre.org
Autor: Bartolomé Sintes Marco
Última modificación de esta página: 25 de mayo de 2011
Esta obra está bajo una licencia de Creative
Commons Reconocimiento-CompartirIgual 3.0 España.