Hypertext Transfer Protocol o HTTP.
· Hypertext Transfer Protocol o HTTP (en español protocolo
de transferencia de hipertexto) es el protocolo usado en cada transacción de laWorld Wide Web. HTTP fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboración que culminó en 1999 con la
publicación de una serie de RFC, el más importante de ellos es el RFC 2616 que especifica la versión 1.1. HTTP define la
sintaxis y la semántica que utilizan los elementos de software de la
arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a
transacciones y sigue el esquema petición-respuesta entre un cliente y un
servidor. Al cliente que efectúa la petición (un navegador web o un spider) se lo conoce como "user agent" (agente
del usuario). A la información transmitida se la llama recurso y se la
identifica mediante un localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el
resultado de la ejecución de un programa, una consulta a una base de datos, la traducción automática de un documento, etc.
· HTTP es un protocolo sin estado, es decir,
que no guarda ninguna información sobre conexiones anteriores. El desarrollo de
aplicaciones web necesita frecuentemente mantener estado. Para esto se usan lascookies, que es información que un servidor puede almacenar
en el sistema cliente. Esto le permite a las aplicaciones web instituir la
noción de "sesión", y también permite rastrear usuarios ya que las
cookies pueden guardarse en el cliente por tiempo indeterminado.
Una transacción HTTP está formada por un encabezado seguido, opcionalmente, por una
línea en blanco y algún dato. El encabezado especificará cosas como la acción
requerida del servidor, o el tipo de dato retornado, o el código de estado.
El
uso de campos de encabezados enviados en las transacciones HTTP le dan gran
flexibilidad al protocolo. Estos campos permiten que se envíe información
descriptiva en la transacción, permitiendo así la autenticación, cifrado e
identificación de usuario.
Un
encabezado es un bloque de datos que precede a la información propiamente
dicha, por lo que muchas veces se hace referencia a él como metadato porque tiene datos sobre los datos.
Si
se reciben líneas de encabezado del cliente, el servidor las coloca en las
variables de ambiente de CGI con
el prefijo HTTP_ seguido del nombre del encabezado. Cualquier carácter guión (
- ) del nombre del encabezado se convierte a caracteres "_".
El
servidor puede excluir cualquier encabezado que ya esté procesado, comoAuthorization, Content-type y Content-length.
El servidor puede elegir excluir alguno o todos los encabezados si incluirlos
excede algún límite del ambiente de sistema. Ejemplos de esto son las variables
HTP_ACPT y HTP_R_AEN.
HT_AEP'. Los tipos MIME que el cliente aceptará, dado los encabezados HTTP. Otros
protocolos quizás necesiten obtener esta información de otro lugar. Los
elementos de esta lista deben estar separados por una coma, como lo dice la
especificación HTTP: tipo, tipo.
HTT_USR_AET. El navegador que utiliza el cliente para realizar la
petición. El formato general para esta variable es: software/versión
biblioteca/versión.
El
servidor envía al cliente:
Un código de estado que indica si la petición fue correcta o no. Los
códigos de error típicos indican que el archivo solicitado no se encontró, que
la petición no se realizó de forma correcta o que se requiere autenticación
para acceder al archivo.
La información propiamente dicha. Como HTTP permite enviar documentos de
todo tipo y formato, es ideal para transmitir multimedia, como gráficos, audio y video. Esta libertad es una de las mayores
ventajas de HTTP.
Información sobre el objeto que se retorna.
Ten
en cuenta que la lista no es una lista completa de los campos de encabezado y
que algunos de ellos sólo tienen sentido en una dirección.
Hypertext Transfer Protocol Secure o HTTPS.
Hypertext
Transfer Protocol Secure (en español: Protocolo seguro de transferencia de
hipertexto), más conocido por sus siglas HTTPS, es un protocolo
de red basado en el
protocolo HTTP, destinado a la transferencia segura de datos
de hipertexto, es decir, es la versión segura de HTTP.
Es
utilizado principalmente por entidades bancarias, tiendas en línea, y cualquier
tipo de servicio que requiera el envío de datos personales o contraseñas.
La
idea principal de https es la de crear un canal seguro sobre una red insegura.
Esto proporciona una protección razonable contra ataques eavesdropping y man-in-the-middle, siempre que se empleen métodos de cifrado adecuados y que elcertificado
del servidor sea verificado y resulte de confianza.
La
confianza inherente en HTTPS está basada en una Autoridad de certificaciónsuperior que viene preinstalada en el software del
navegador (Es el equivalente a decir "Confío en la autoridad de
certificación (p.e. VeriSign/Microsoft/etc.) para decirme en quien debería
confiar"). Sin embargo una conexión HTTPS a un website puede ser
validada si y solo si todo lo siguiente es verdad:
1.
El usuario confía en la Autoridad de certificación para dar fe solo para websites legítimos sin
nombres engañosos.
2.
El website proporciona un certificado válido (y un certificado inválido
muestra una alerta en la mayoría de los navegadores), lo que significa que está
firmado por una autoridad confiable.
3.
El certificado identifica correctamente al website (p.e. visitandohttps://algunsitio y recibiendo un certificado para "AlgunSitio S.A." y no
"AlgunZitio S.A." .
4.
Cada uno de los nodos involucrados en internet son dignos de confianza, o
que el usuario confíe en que la capa de cifrado del protocolo (TLS o SSL) es inquebrantable por un eavesdropper.
El
sistema HTTPS utiliza un cifrado basado en SSL/TLS para
crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del
navegador utilizado por el cliente) más apropiado para el tráfico de información
sensible que el protocolo HTTP. De este modo se consigue que la información
sensible (usuario y claves de paso normalmente) no pueda ser usada por un
atacante que haya conseguido interceptar la transferencia de datos de la
conexión, ya que lo único que obtendrá será un flujo de datos cifrados que le
resultará imposible de descifrar.
En
el protocolo HTTP las URLs comienzan con "http://" y utilizan
por defecto elpuerto 80, Las URLs de HTTPS comienzan con "https://" y utilizan
el puerto 443 por defecto.
HTTP
es inseguro y esta sujeto a ataques man-in-the-middle y eavesdropping que pueden permitir al atacante obtener acceso
a cuentas de un sitio web e información confidencial. HTTPS está diseñado para
resistir esos ataques y ser seguro.
HTTP
opera en la capa más alta del Modelo OSI, la Capa de Aplicación; pero el protocolo de seguridad opera en una
subcapa más baja, cifrando un mensaje HTTP previo a la transmisión y
descifrando un mensaje una vez recibido. Estrictamente hablando, HTTPS no es un
protocolo separado, pero refiere el uso del HTTP ordinario sobre una Capa
de Conexión Segura cifrada Secure
Sockets Layer (SSL) o una conexión con Seguridad de la Capa de Transporte (TLS).Para preparar un servidor web que acepte
conexiones HTTPS, el administrador debe crear un Certificado de clave pública para el servidor web. Este certificado debe
estar firmado por una Autoridad de certificación para que el navegador web lo acepte. La
autoridad certifica que el titular del certificado es quien dice ser. Los
navegadores web generalmente son distribuidos con los certificados raíz
firmados por la mayoría de las Autoridades de Certificación por lo que estos
pueden verificar certificados firmados por ellos.El sistema puede también ser
usado para laAutenticación de clientes con el objetivo de limitar el
acceso a un servidor web a usuarios autorizados. para hacer esto, el
administrador del sitio típicamente crea un certificado para cada usuario, un
certificado que es guardado dentro de su navegador. Normalmente, este contiene
el nombre y la dirección de correo del usuario autorizado y es revisado
automáticamente en cada reconexión para verificar la identidad del usuario,
potencialmente sin que cada vez tenga que ingresar una contraseña.
No hay comentarios.:
Publicar un comentario