Fundamentos del Protocolo HTTP: Transferencia de Datos Cliente-Servidor
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,35 KB
Transferencias de Páginas Web
La petición de una página web se realiza escribiendo su dirección en el navegador web. La estructura de dicha dirección consiste en una primera sección donde se indica el protocolo, la dirección IP o el nombre de dominio, el puerto (80) y el documento (index.html). Todos los campos van separados por caracteres específicos, por ejemplo: http://www.debian.org:80/index.html.
Normalmente, tanto el servidor como el cliente HTTP pueden asumir valores por defecto, de modo que escribiendo en la dirección del navegador web www.debian.org se obtendría el mismo resultado.
Proceso de Solicitud y Transferencia
- El usuario especifica en el cliente HTTP la dirección de la página que desea consultar.
- El cliente HTTP decodifica la información de la URL.
- El cliente establece una conexión con el servidor y solicita la página y/o el objeto deseado.
- El servidor envía dicha página o objeto.
- Se cierra la conexión.
Siempre se libera la conexión, por lo que esta solo tiene la duración correspondiente a la transmisión de la página solicitada. Con esto se consigue una gran optimización de recursos del servidor. Para cada objeto que se transfiere por la red se realiza una conexión independiente. Por ejemplo, si el cliente HTTP solicita una página que contiene 2 imágenes integradas, se realizan tres conexiones: una para el documento HTML y dos para los archivos de imágenes.
Comunicación HTTP
El intercambio de la información entre el cliente y el servidor web se concreta mediante mensajes. El contenido de dichos mensajes son líneas de texto, cada una de las cuales contiene las órdenes y parámetros.
Formato del Mensaje
Existen dos tipos de mensajes: los de petición o solicitud (request) y los de respuesta (response).
Métodos de Petición (Request)
Una petición HTTP tiene la sintaxis: [Método, espacio en blanco, URI, espacio en blanco y Versión].
Ejemplo: GET index.html HTTP/1.0
Métodos HTTP 1.0
- GET: Utilizado para obtener cualquier tipo de información del servidor (método invocado cuando se realiza un clic sobre un enlace).
- HEAD: Parecido a GET, pero sin el cuerpo del mensaje.
- POST: Envío de información desde el cliente.
Métodos HTTP 1.1
La versión HTTP 1.1 añade nuevos métodos, como son:
- PUT: Para enviar el recurso objeto de la URL del cliente al servidor.
- DELETE: Para borrar el recurso solicitado del servidor.
- OPTIONS: Con el que el cliente obtiene información del servidor.
Métodos de Respuesta (Response)
La sintaxis de una respuesta HTTP es una línea de estado que tiene una estructura fija, donde se indica la versión, el código de error y el texto explicativo.
HTTP/1.1 405 Method Not Allowed HTTP/1.1 200 OK
Los códigos de estado se identifican con números de tres cifras y se clasifican en cinco grupos:
- Informativos (1xx)
- Éxito de Solicitud (2xx)
- Redirección de Solicitud (3xx)
- Error del Cliente (4xx)
- Errores Generados en el Servidor (5xx)
Líneas de Encabezado HTTP
Los encabezados definen en gran parte la información que se intercambia entre clientes y servidores, dándole así flexibilidad al protocolo. La línea simple de encabezado se compone del nombre del encabezado, seguido de dos puntos y el valor correspondiente.
Clasificaciones de Encabezados
- De Ámbito General
- Manejan información utilizada por clientes y servidores.
- De Solicitud
- Los utiliza el cliente para enviar información adicional al servidor.
- De Respuesta
- Utilizados por el servidor para enviar información adicional al cliente.
- De Identidad
- Información relacionada con el recurso que se le va a proporcionar al cliente.