Soluciones IT
Transcripción
Soluciones IT
Soluciones IT 1)Formato de mensajes Cada transacción HTTP es una comunicación distinta. En cada una de ellas se intercambian mensajes. Según la especificación del protocolo, un mensaje es ``la unidad básica de la comunicación HTTP y consiste de una secuencia estructurada de octetos ordenados con formato válido y transmitidos por la conexión.'' Hay dos tipos de mensajes, petición o solicitud (Request) y respuesta (Response), cada uno con su estructura, pero a groso modo el formato de un mensaje genérico sería el siguiente: Línea de comienzo: tipo de petición o tipo de respuesta. Cero o más líneas de encabezado acabadas en CRLF. Separador, que no es más que otro CRLF. Cuerpo del mensaje. 2)Peticiones (Request) HTTP, métodos de petición Una petición HTTP, en su formato más básico, tiene la siguiente sintaxis: método URI versión El método le indica al servidor que hacer con el URI , por último la versión simplemente indica el número de versión del protocolo que el cliente entiende. Una petición habitual utiliza el método GET para pedirle al servidor que devuelva el URI solicitado: GET /index.html HTTP/1.0 De entre los tres parámetros el más importante es el método. HTTP/1.1 incorpora ocho métodos , aunque sólo obliga a implementar GET y HEAD, siendo todos los demás opcionales. En cualquier caso, los servidores que implementen alguno de los métodos adicionales, deben atenerse a la especificación de los mismos. Existe también la posibilidad de implementar métodos extendidos, a los que la especificación no pone ningún límite. En HTTP/1.0 sólo se especificaban tres métodos, GET, POST y HEAD. Estos son, con diferencia, los tres más extendidos y utilizados, por ello se comentan un poco más ampliamente. El método GET Pide una representación del recurso especificado. Por seguridad no debería ser usado por aplicaciones que causen efectos ya que transmite información a través de la URI agregando parámetros a la URL. La petición puede ser simple, es decir en una línea o compuesta de la manera que muestra el ejemplo. Ejemplo: GET /images/logo.png HTTP/1.1 obtiene un recurso llamado logo.png Ejemplo con parámetros: /index.php?page=main&lang=es El método HEAD Es un método utilizado para preguntar información sobre un documento (metadatos), no para obtener el page 1 / 7 Soluciones IT propio documento. HEAD es mucho más rápido que GET, ya que se transfiere mucha menos información. Es generalmente usada por clientes que usan caché para ver si el documento ha cambiado desde la última vez que accedieron a él. Si no cambió, la copia local puede usarse nuevamente; de otra forma, la versión actualizada debe recuperarse con GET. Este método puede ser usado para testear la validez, accesibilidad y reciente modificación de enlaces, sin tener que descargar los documentos en sí. El método POST Es usado para transferir datos del cliente al servidor. Los datos del cuerpo de la solicitud se enviarán al URI especificado. Este URI será una referencia a un manipulador que procesará los datos de alguna forma, típicamente será un programa CGI. Las respuestas al método POST no serán guardadas en caché salvo que en la propia respuesta se incluyan encabezados de control de caché adecuados. Dentro de un mensaje HTTP los encabezados son muy importantes. Definen en gran parte la información que se intercambia entre clientes y servidores dándole flexibilidad al protocolo. Estas líneas permiten que se envíe información descriptiva en la propia transacción, permitiendo cosas como la autenticación o identificación de usuarios. La sintaxis de una línea simple de encabezado es la siguiente: Nombre-de-Encabezado: Valor Los encabezados pueden clasificarse en grupos, para cada uno de ellos se incluye una tabla con los más importantes: 3)Líneas de cabecera HTTP Generales Manejan información que puede ser utilizada tanto por clientes como por servidores, ya que se aplican a una sesión completa de comunicación . De solicitud Los utiliza el cliente para enviar (en sus peticiones de servicio) información adicional al servidor. De respuesta page 2 / 7 Soluciones IT Los utiliza el servidor para enviar información adicional al cliente . De entidad Contienen información relacionada directamente con el recurso que se le va a proporcionar al cliente. Método GET Devuelve el recurso identificado en la URL pedida. HEAD Funciona como el GET, pero sin que el servidor devuelva el cuerpo del mensaje. Es decir, sólo se devuelve la información de cabecera. POST Indica al servidor que se prepare para recibir información del cliente. Suele usarse para enviar información desde formularios. PUT Envía el recurso identificado en la URL desde el cliente hacia el servidor. OPTIONS Pide información sobre las características de comunicación proporcionadas por el servidor. Le permite al cliente negociar los parámetros de comunicación. TRACE Inicia un ciclo de mensajes de petición. Se usa para depuración y permite al cliente ver lo que el servidor recibe en el otro lado. DELETE Solicita al servidor que borre el recurso identificado con el URL. CONNECT Este método se reserva para uso con proxys. Permitirá que un proxy Significado page 3 / 7 Soluciones IT pueda dinámicamente convertirse en un túnel. Por ejemplo para comunicaciones con SSL. Encabezado Cache-Control Permite especificar distintas directivas para controlar la caché, tanto del cliente como de servidores proxy. Connection Especifica opciones de la conexión de red. Date Envía una fecha en la representación estándar definida en el protocolo. Pragma Transporta información no HTTP a un receptor que sea capaz de entenderla. Trailer Indica que ciertas cabeceras HTTP pueden encontrarse en el final de un mensaje con múltiples partes (multipart). Upgrade Información sobre protocolos adicionales soportados por el cliente. Via Añadidos al mensaje de proxys o gateways para indicar que pasó por ellos. Warning Información adicional sobre un estado o transformación de un documento que podría no estar reflejado en el cuerpo del mismo. Por ejemplo, transformaciones que se hacen en servidores caché. Encabezado Accept Significado Significado Listado de tipos MIME que el cliente soporta. Hay otros page 4 / 7 Soluciones IT encabezados relacionados como Accept-Charset , Accept-Encoding , Accept-Language . Authorization Indica las credenciales de acceso a un recurso que presenta el usuario. Expect Indica que comportamiento del servidor necesita el cliente. From Dirección de correo que controla el cliente (navegador). Host Nombre o IP del host desde donde se conecta el cliente. If-Match Un cliente que tiene recursos en cache puede verificar si están actualizados incluyendo este encabezado. Hay otros encabezados que también tienen que ver con la caché. If-Modified-Since , If-None-Match , If-Range , If-Unmodified-Since . Max-Forwards Cuantas veces la petición del cliente puede ser reenviada por proxys. Proxy-Authoritation Indica las credenciales de acceso a un proxy que presenta el usuario. Range Indica qué porción de recurso (rango de bytes) recuperar. Referer Es el URI del recurso desde donde la petición se ha realizado (generalmente por provenir de un enlace HTML). TE Que codificaciones de transferencia está dispuesto a recibir el cliente. User-Agent Información sobre el agente de usuario (generalmente navegador) page 5 / 7 Soluciones IT que origina la petición. Encabezado Accept-Ranges Indica las unidades en las que el servidor acepta peticiones de rangos. Age Tiempo estimado por el servidor para cumplir la petición. Etag Valor actual de la etiqueta de entidad solicitada. Location Contiene un URI al que el cliente debe ser redireccionado. Proxy-Authenticate Indica el esquema de autentificación que acepta un servidor proxy. Retry-After Cuanto tiempo se espera que el servicio no esté disponible. Server Información del software servidor. Vary Indica que un recurso tiene múltiples fuentes que pueden variar de acuerdo a la lista de encabezados de petición. WWW-Authenticate Indica que el recurso solicitado necesita de credenciales de autorización. Encabezado Allow Informa al cliente de los métodos válidos asociados con el recurso. Content-Type Indica el tipo MIME de los contenidos. Hay otros encabezados muy relacionados como Content-Language , Content-Length , Content-Location , Content-MD5 , Content-Range o Significado Significado page 6 / 7 Soluciones IT Content-Encoding . Expires Indica la fecha y hora en la que el recurso se considerará obsoleto. Last-Modified Indica la fecha y hora en la que el recurso original fue modificado por última vez. Nuevas extensiones Existe un grupo de trabajo que intenta estandarizar la forma en que las nuevas extensiones al protocolo HTTP deben ser reflejadas en los encabezados HTTP. page 7 / 7 Powered by TCPDF (www.tcpdf.org)