Está en la página 1de 5

Introduccin al protocolo HTTP Desde 1990, el protocolo HTTP (Protocolo de transferencia de hipertexto) es el protocolo ms utilizado en Internet. La versin 0.

9 slo tena la finalidad de transferir los datos a travs de Internet (en particular pginas Web escritas en HTML). La versin 1.0 del protocolo (la ms utilizada) permite la transferencia de mensajes con encabezados que describen el contenido de los mensajes mediante la codificacin MIME. El propsito del protocolo HTTP es permitir la transferencia de archivos (principalmente, en formato HTML). entre un navegador (el cliente) y un servidor web (denominado, entre otros, httpd en equipos UNIX) localizado mediante una cadena de caracteres denominada direccin URL. Comunicacin entre el navegador y el servidor La comunicacin entre el navegador y el servidor se lleva a cabo en dos etapas:

El navegador realiza una solicitud HTTP El servidor procesa la solicitud y despus enva una respuesta HTTP

En realidad, la comunicacin se realiza en ms etapas si se considera el procesamiento de la solicitud en el servidor. Dado que slo nos ocupamos del protocolo HTTP, no se explicar la parte del procesamiento en el servidor en esta seccin del artculo. Si este tema les interesa, puede consultar el artculo sobre el tratamiento de CGI. Solicitud HTTP Una solicitud HTTP es un conjunto de lneas que el navegador enva al servidor. Incluye:

Una lnea de solicitud: es una lnea que especifica el tipo de documento solicitado, el mtodo que se aplicar y la versin del protocolo utilizada. La lnea est formada por tres elementos que deben estar separados por un espacio: o el mtodo

la direccin URL la versin del protocolo utilizada por el cliente (por lo general, HTTP/1.0) Los campos del encabezado de solicitud: es un conjunto de lneas opcionales que permiten aportar informacin adicional sobre la solicitud y/o el cliente (navegador, sistema operativo, etc.). Cada una de estas lneas est formada por un nombre que describe el tipo de encabezado, seguido de dos puntos (:) y el valor del encabezado. El cuerpo de la solicitud: es un conjunto de lneas opcionales que deben estar separadas de las lneas precedentes por una lnea en blanco y, por ejemplo, permiten que se enven datos por un comando POST durante la transmisin de datos al servidor utilizando un formulario.

o o

Por lo tanto, una solicitud HTTP posee la siguiente sintaxis (<crlf> significa retorno de carro y avance de lnea): MTODO VERSIN URL<crlf> ENCABEZADO: Valor<crlf> . . . ENCABEZADO: Valor<crlf> Lnea en blanco <crlf> CUERPO DE LA SOLICITUD A continuacin se encuentra un ejemplo de una solicitud HTTP: GET http://es.kioskea.net HTTP/1.0 Accept : Text/html If-Modified-Since : Saturday, 15January-2000 14:37:11 GMT User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Comandos Comando GET HEAD POST PUT DELETE Descripcin Solicita el recurso ubicado en la URL especificada Solicita el encabezado del recurso ubicado en la URL especificada Enva datos al programa ubicado en la URL especificada Enva datos a la URL especificada Borra el recurso ubicado en la URL especificada

Encabezados Nombre del encabezado Accept Descripcin

Tipo de contenido aceptado por el navegador (por ejemplo, texto/html). Consulte Tipos de MIME Accept-Charset Juego de caracteres que el navegador espera Accept-Encoding Codificacin de datos que el navegador acepta Idioma que el navegador espera (de forma predeterminada, Accept-Language ingls) Authorization Identificacin del navegador en el servidor Content-Encoding Tipo de codificacin para el cuerpo de la solicitud

Content-Language Tipo de idioma en el cuerpo de la solicitud Content-Length Extensin del cuerpo de la solicitud Tipo de contenido del cuerpo de la solicitud (por ejemplo, Content-Type texto/html). Consulte Tipos de MIME Date Fecha en que comienza la transferencia de datos Utilizado por equipos intermediarios entre el navegador y el Forwarded servidor From Permite especificar la direccin de correo electrnico del cliente Permite especificar que debe enviarse el documento si ha sido From modificado desde una fecha en particular Link Vnculo entre dos direcciones URL Orig-URL Direccin URL donde se origin la solicitud Referer Direccin URL desde la cual se realiz la solicitud Cadena con informacin sobre el cliente, por ejemplo, el User-Agent nombre y la versin del navegador y el sistema operativo Respuesta HTTP Una respuesta HTTP es un conjunto de lneas que el servidor enva al navegador. Est constituida por: Incluye:

Una lnea de estado: es una lnea que especifica la versin del protocolo utilizada y el estado de la solicitud en proceso mediante un texto explicativo y un cdigo. La lnea est compuesta por tres elementos que deben estar separados por un espacio: La lnea est formada por tres elementos que deben estar separados por un espacio: o la versin del protocolo utilizada o el cdigo de estado o el significado del cdigo Los campos del encabezado de respuesta: es un conjunto de lneas opcionales que permiten aportar informacin adicional sobre la respuesta y/o el servidor. Cada una de estas lneas est compuesta por un nombre que califica el tipo de encabezado, seguido por dos puntos (:) y por el valor del encabezado Cada una de estas lneas est formada por un nombre que describe el tipo de encabezado, seguido de dos puntos (:) y el valor del encabezado. El cuerpo de la respuesta: contiene el documento solicitado.

Por lo tanto, una respuesta HTTP posee la siguiente sintaxis (<crlf> significa retorno de carro y avance de lnea): VERSIN-HTTP CDIGO EXPLICACIN <crlf> ENCABEZADO: Valor<crlf> . . . ENCABEZADO: Valor<crlf> Lnea en blanco <crlf> CUERPO DE LA RESPUESTA A continuacin se encuentra un ejemplo de una respuesta HTTP:

HTTP/1.0 200 OK Date: Sat, 15 Jan 2000 14:37:12 GMT Server : Microsoft-IIS/2.0 Content-Type : text/HTML Content-Length : 1245 Last-Modified : Fri, 14 Jan 2000 08:25:13 GMT Encabezados de respuesta Nombre del Descripcin encabezado Content-Encoding Tipo de codificacin para el cuerpo de la respuesta Content-Language Tipo de idioma en el cuerpo de la respuesta Content-Length Extensin del cuerpo de la respuesta Tipo de contenido del cuerpo de la respuesta (por ejemplo, Content-Type texto/html). Consulte Tipos de MIME Date Fecha en que comienza la transferencia de datos Expires Fecha lmite de uso de los datos Utilizado por equipos intermediarios entre el navegador y el Forwarded servidor Redireccionamiento a una nueva direccin URL asociada con Location el documento Server Caractersticas del servidor que envi la respuesta Los cdigos de respuesta Son los cdigos que se ven cuando el navegador no puede mostrar la pgina solicitada. El cdigo de respuesta est formado por tres dgitos: el primero indica el estado y los dos siguientes explican la naturaleza exacta del error. Cdigo 10x 20x 200 201 202 203 204 205 206 Descripcin Estos cdigos no se utilizan en la versin 1.0 del protocolo Estos cdigos indican la correcta ejecucin de la xito transaccin OK La solicitud se llev a cabo de manera correcta Sigue a un comando POST e indica el xito, la parte CREATED restante del cuerpo indica la direccin URL donde se ubicar el documento creado recientemente. La solicitud ha sido aceptada, pero el procedimiento ACCEPTED que sigue no se ha llevado a cabo Cuando se recibe este cdigo en respuesta a un PARTIAL comando de GET indica que la respuesta no est INFORMATION completa. El servidor ha recibido la solicitud, pero no hay NO RESPONSE informacin de respuesta El servidor le indica al navegador que borre el RESET CONTENT contenido en los campos de un formulario PARTIAL Es una respuesta a una solicitud que consiste en el CONTENT encabezado range. El servidor debe indicar el Mensaje Mensaje de informacin

30x 301 302

Redireccin MOVED FOUND

303

METHOD

304

NOT MODIFIED

encabezado content-Range Estos cdigos indican que el recurso ya no se encuentra en la ubicacin especificada Los datos solicitados han sido transferidos a una nueva direccin Los datos solicitados se encuentran en una nueva direccin URL, pero, no obstante, pueden haber sido trasladados Significa que el cliente debe intentarlo con una nueva direccin; es preferible que intente con otro mtodo en vez de GET Si el cliente llev a cabo un comando GET condicional (con la solicitud relativa a si el documento ha sido modificado desde la ltima vez) y el documento no ha sido modificado, este cdigo se enva como respuesta.

40x 400

401

402 403 404 50x 500 501 502

503

504

Error debido al Estos cdigos indican que la solicitud es incorrecta cliente La sintaxis de la solicitud se encuentra formulada de BAD REQUEST manera errnea o es imposible de responder Los parmetros del mensaje aportan las especificaciones de formularios de autorizacin que se UNAUTHORIZED admiten. El cliente debe reformular la solicitud con los datos de autorizacin correctos PAYMENT El cliente debe reformular la solicitud con los datos de REQUIRED pago correctos FORBIDDEN El acceso al recurso simplemente se deniega Un clsico. El servidor no hall nada en la direccin NOT FOUND especificada. Se ha abandonado sin dejar una direccin para redireccionar... :) Error debido al Estos cdigos indican que existe un error interno servidor en el servidor El servidor encontr una condicin inesperada que le INTERNAL impide seguir con la solicitud (una de esas cosas que ERROR les suceden a los servidores...) NOT El servidor no admite el servicio solicitado (no puede IMPLEMENTED saberlo todo...) El servidor que acta como una puerta de enlace o BAD GATEWAY proxy ha recibido una respuesta no vlida del servidor al que intenta acceder El servidor no puede responder en ese momento SERVICE debido a que se encuentra congestionado (todas las UNAVAILABLE lneas de comunicacin se encuentran congestionadas, intntelo de nuevo ms adelante) La respuesta del servidor ha llevado demasiado tiempo GATEWAY en relacin al tiempo de espera que la puerta de enlace TIMEOUT poda admitir (excedi el tiempo asignado...)

También podría gustarte