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)

Documentos relacionados