You are on page 1of 33

HTTP/1.

1 RFC 2616
HTTPS://TOOLS.IETF.ORG/HTML/RFC2616

PROTOCOLO DE LA CAPA DE APLICACIÓN OSI


CONCEPTOS RELACIONADOS

• Lenguaje HTML (HyperText Mark-up Languaje)


Es un lenguaje de representación de hipertexto
• Estándar MIME (Multipurpose Internet Mail Extensions)
Es un estándar para la representación del contenido de HTML
• Protocolo HTTP (HyperText Transfer Protocol)
Trabaja sobre la pila TCP/IP
MIME MULTIPORPUSE
INTERNET MAIL EXTENSIONS

• Son una serie de especificaciones dirigidas al intercambio de


todo tipo de archivos (texto, audio, video, etc.)a través de
Internet, de forma transparente para el usuario. En Gral. Las
extensiones MIME están enfocadas a mejorar la transferencia
de texto entre distinto idiomas y alfabetos y soportan:
• US-ASCII (0-31 caracteres de control, 32-126 caracteres
imprimibles)
• Adjuntos que no son de tipo texto
• Información de encabezados con conjuntos de caracteres
distintos a ASCII
HTTP URL (URI)
• Esquema://Autoridad:puerto/r/u/t/a?consulta=valor# !--fragmento
• El esquema “HTTP” es usado para localizar recursos de red mediante el protocolo HTTP

Nota: El parámetro Consulta sólo es utilizado por servidores


web que emplean contenido dinámico, esto es, que cambias
con respecto a la navegación del usuario.
FORMATO DE LA TRAMA HTTP 1.1

HTTP/ Phrase
Method /Resource Version cr If Status cr If
Versión Response

Header: value cr If Header: value cr If

Header: value cr If Header: value cr If

DATA:HTML,VIDEO,AUDIO, ETC. DATA:HTML,VIDEO,AUDIO, ETC.


MÉTODOS
El método (Verb) indica la operación realizada en el recurso identificado en el
campo de /Resource
GET
un recurso del servidor web, el cual es declarado dentro del
campo /Resource, este último puede ser únicamente una diagonal / la cual
indica que el recurso solicitado se encuentra en la raíz del servidor.

GET / HTTP/1.1 cr If

Host: www.host.com cr If
MÉTODOS
Condicional GET
un recurso del servidor web, sí y sólo si, el mensaje cumple
con las condiciones declaradas en las cabeceras:
If-Modified-Since
If-Unmodified-Since
If-Match
If-None-match
If-Ranger-Header

Este método es utilizado para reducir el


uso de red innecesario permitiendo el
uso de cache para actualizar un portal
sin emplear múltiples solicitudes y
transferencias de datos.
MÉTODOS
HEAD
Idéntico al comando GET a diferencia que solicita sólo la
del recurso del servidor web, este último no debe regresar el cuerpo del
mensaje en la respuesta.
MÉTODOS
OPTIONS
información acerca de las opciones disponibles de
comunicación del recurso definido en el campo /Resource del servidor web.
MÉTODOS
POST
Solicita que el servidor acepte el de información.
MÉTODOS
PUT
Solicita que el servidor acepte el envío de información y en caso de que
esta no exista será o si el recurso existe la información contenida
será sobrescrita.
MÉTODOS
DELETE
Sirve para el recurso especificado.
MÉTODOS
TRACE
Es prácticamente igual , a diferencia que este trabaja a nivel de
capa de aplicación y cuenta el número de saltos (proxyes).
MÉTODOS
CONNECT
Es utilizado con un proxy el cual tiene la capacidad de establecer un
con la finalidad de establecer una conexión entre un servidor remoto
y el cliente a través del Proxy.
CÓDIGOS DE ERROR
HEADERS MÁS COMUNES.
HEADERS
La funcionalidad del campo HEADER es proporcionar datos de control para el
intercambio de información entre el servidor y el cliente
HEADERS MÁS COMUNES.
Acept:
Permite especificar el tipo de contenido que acepta el cliente Audio, video, aplicación
image/*,text/html,*/* .
Acept-Encoding :
El tipo de codificación de datos que puede procesar nuestro cliente.
Acept-Charset:
Permite especificar la tabla de caracteres acepta el cliente.
Acept-Encoding :
El tipo de codificación de datos que puede procesar nuestro cliente.
Content-Encoding :
El tipo de codificación que nuestro cliente ha utilizado para codificar la información.
Connection: Permite hacer una sesión persistente o cerrar la conexión una vez enviada la
respuesta.
User-Agent: Indica al servidor información sobre nuestro navegador, versión, SO,
compatibilidad
Referer: El cual indica al servidor la pagina de donde provenimos.
Allow: El servidor indica al cliente que métodos están permitidos.
Server: En el se incluye información acerca del servidor
HEADERS MÁS COMUNES.
Cache-Control
La funcionalidad de esta cabecera es controlar los mecanismos de
almacenamiento de Cache, el cual fue implementado para optimizar el
rendimiento de un sistema.

Cache-Control:
HEADERS MÁS COMUNES.
Cache-Control: Private
La funcionalidad de esta directiva indica que todo o parte del mensaje
de respuesta para un cliente no debe ser almacenado por un cache
compartido(permite especificar un campo específico del mensaje).
Cache-Control: no-cache
Especifica que el cache no se debe utilizar toda o parte de la respuesta
para satisfacer una petición posterior sin una revalidación con el
servidor de origen.
Cache-Control: no-store
Evitar la retención de información sensible ya que ésta aplica al
mensaje completo, aplica tanto para cache compartido como al no
compartido, sin embargo, no es un mecanismo confiable que garantice
la privacidad (algunos caches podrían no reconocer u obedecer esta
directiva)
Cache-Control: Must-Revalidate
Especifica que el cache no debe ser utilizado después de que haya
expirado.
HEADERS MÁS COMUNES.
Pragma:
Posee la misma funcionalidad que Cache-Control:no-cache, se emplea
por compatibilidad con versiones anteriores como HTTP/1.0.

Expires:
Proporciona el tiempo o en su defecto fecha después del cual la
respuesta es considerada obsoleta, por lo que un cache no debería ser
reutilizado a menos que haya una previa re-validación por parte del
cliente.
HEADERS MÁS COMUNES.
Set-Cookie RFC-6265
La funcionalidad de esta es almacenar información acerca del “estado”
que identifica al usuario, el servidor utiliza una cabecera Set-Cookie en
la respuesta y en consecuencia el cliente envía la cabecera Cookie en
la solicitud con el nombre de la Cookie y su respectivo valor asignado.
 Sesión
 Preferencias
 Compras, etc.
ATRIBUTOS DE ADMINISTRACIÓN.
Set-Cookie name=value; Expires=
Este atributo indica el máximo tiempo de vida de la Cookie representada como la fecha y tiempo en que la Cookie expira.
Por lo que el cliente no requiere retener la Cookie después de esta fecha,

Set-Cookie name=value; Max-Age=


Este atributo indica el máximo tiempo de vida de la Cookie representada como número de segundos hasta que la Cookie
expira.
ATRIBUTOS DE ADMINISTRACIÓN.
Set-Cookie name=value; Path=
Este atributo limita la utilización de la Cookie a la ruta especificada dentro del servidor, por ejemplo, si se declara Path=/,
esto indica que la Cookie puede ser empleada en cualquier ruta dentro del servidor.
Set-Cookie name=value; Domain=
Este atributo indica los Hosts a los cuales la Cookie puede ser enviada, por ejemplo, si Domain=.Facebook.com los
dominio válidos serían: www.facebook.com, www.anysubdomain.facebook.com y facebook.com. “.com” .”co.uk” y Sufijos
públicos.
Set-Cookie name=value; Secure=
Este atributo limita la utilización de la Cookie a sólo canales Seguros , por lo general TLS (Seguridad en la capa de
Transporte. Asy. P. y P.)
ATRIBUTOS DE ADMINISTRACIÓN
Set-Cookie: Cookie=value; httponly
Este atributo limita el uso de la Cookie únicamente a solicitudes HTTP.

Consideraciones
Este atributo limita el uso de la Cookie únicamente a
solicitudes HTTP.
CONSIDERACIONES DE SEGURIDAD
ENCODING FILES

Que mecanismo de
decodificación será
requerido para remover la
codificación
GZIP  GNU ZIP

• Se basa en el algoritmo Deflate y es una combinación de los algoritmos LZ77 y Huffman


• NOTA: No se debe confundir con ZIP el cual no es compatible, gzip sólo comprime archivos, pero no los archiva.
• NOTA2:
• Librería zlib (formato de compresión) RFC 1950
• Algoritmo Deflate RFC 1951
• Formato gzip RFC RFC 1952
ACCEPT-LANGUAGE

• Si este campo no está presente el servidor debe asumir que el cliente acepta todos los lenguajes
CONTENT-TYPE
CONTROL CACHE
RESPONSE HEADER FIELDS

You might also like