Protocolo de Transferência de Hipertexto

Propaganda
Protocolo HTTP
Protocolo de Transferência de Hipertexto
O Hypertext Transfer Protocol (HTTP), em português Protocolo de Transferência de
Hipertexto, é um protocolo de comunicação (na camada de aplicação segundo o Modelo OSI)
É a base para a comunicação de dados da World Wide Web
Hipertexto é o texto estruturado que utiliza ligações lógicas (hiperlinks) entre nós contendo
texto. O HTTP é o protocolo para a troca ou transferência de hipertexto.
Este protocolo tem sido usado pela WWW desde 1990.
A primeira versão de HTTP, chamada HTTP/0.9, era um protocolo simples para a transferência
de dados no formato de texto ASCII pela Internet, através de um único método de requisição,
chamado GET.
Protocolo HTTP
Protocolo de Transferência de Hipertexto
A versão HTTP/1.0 foi desenvolvida entre 1992 e 1996 para suprir a necessidade de transferir
não apenas texto.
Com essa versão, o protocolo passou a transferir mensagens do tipo MIME44 (Multipurpose
Internet Mail Extension) e foram implementados novos métodos de requisição, chamados
POST e HEAD.
A RFC 2616, de junho de 1999, que definiu o HTTP/1.1. Em Junho de 2014 foram publicados 6
RFC's para maior clareza do protocolo HTTP/1.1.
No HTTP/1.1, o protocolo descrito na RFC 2616, foi desenvolvido um conjunto de
implementações adicionais ao HTTP/1.0, como por exemplo: o uso de conexões persistentes;
o uso de servidores proxy que permitem uma melhor organização do cache; novos métodos
de requisições; entre outros.
Protocolo HTTP
Protocolo de Transferência de Hipertexto
Em Março de 2015, foi divulgado o lançamento do HTTP/2.
A atualização deixou o navegador com um tempo de resposta melhor
e mais seguro. Ele também melhorou a navegação em smartphones.
Protocolo HTTP
Protocolo de Transferência de Hipertexto
O HTTP funciona como um protocolo de requisição-resposta no modelo computacional
cliente-servidor.
Um navegador web, por exemplo, pode ser o cliente e uma aplicação em um computador que
hospeda um site da web pode ser o servidor.
O cliente submete uma mensagem de requisição HTTP para o servidor.
O servidor, que fornece os recursos, como arquivos HTML e outros conteúdos, ou realiza
outras funções de interesse do cliente, retorna uma mensagem resposta para o cliente.
A resposta contem informações de estado completas sobre a requisição e pode também
conter o conteúdo solicitado no corpo de sua mensagem.
Protocolo HTTP
Protocolo de Transferência de Hipertexto
Um navegador web é um exemplo de agente de usuário (AU).
Outros tipos de agentes de usuário incluem o software de indexação
usado por provedores de consulta (Web crawler, em português
rastreador web, é um programa de computador que navega pela World
Wide Web de uma forma metódica e automatizada.
Outros termos para Web crawlers são indexadores automáticos, bots,
web spiders, Web robot, ou Web scutter.).
Navegadores vocais, aplicações móveis e outros software que acessam,
consomem ou exibem conteúdo web.
Protocolo HTTP
Protocolo de Transferência de Hipertexto
O principal problema com esta forma de atenticação é que a credenciais do usuário são
transmitidas pela rede sem nenhuma proteção.
Este problema pode ser resolvido através do uso do protocolo Secury Sockets Layer (SSL) ou
outro protocolo de codificação.
O protocolo SLL foi introduzido pela Netscape Communications Corporation e é suportado
pelos browsers.
O protocolo HTTP/1.1 melhorou o mecanismo de autenticação proposto pelo protocolo
HTTP/1.0.
Ele é baseado no paradgima desafio/resposta no qual o servidor envia um desafio para o
browser e o browser usa uma senha armazenada localmente para computar a resposta.
Como a senha não é enviada pela rede, o protocolo HTTP/1.1 é muito mais seguro que o
protocolo HTTP/1.0 e para isso, introduz uma piora muito pequena no desempenho do
sistema.
Protocolo HTTP
Protocolo de Transferência de Hipertexto
HTTPS (HyperText Transfer Protocol Secure)
É uma implementação do protocolo HTTP sobre uma camada adicional de segurança que
utiliza o protocolo SSL/TLS. Essa camada adicional permite que os dados sejam transmitidos
por meio de uma conexão criptografada e que se verifique a autenticidade do servidor e do
cliente por meio de certificados digitais.
A porta TCP usada por norma para o protocolo HTTPS é a 443.
A confiança fornecida pelo HTTPS é baseada em autoridades de certificação que vêm préinstaladas no navegador (isto é equivalente a dizer "Eu confio na autoridade de certificação
VeriSign/Microsoft/etc para me dizer em quem devo confiar").
Portanto, uma conexão HTTPS pode ser confiável se e somente se todos os itens são verdade:
O usuário confia que o navegador implementa corretamente HTTPS com autoridades de
certificação pré-instaladas ;
Protocolo HTTP
Protocolo de Transferência de Hipertexto
O usuário confia que as autoridades verificadoras só irão confiar em páginas legítimas,
que não possuem nomes enganosos;
A página acessada fornece um certificado válido, o que significa que ele foi assinado por
uma autoridade de certificação confiável;
O certificado identifica corretamente a página (por exemplo, quando o navegador acessa
"https://exemplo.com", o certificado recebido é realmente de "Exemplo Inc." e não de
alguma outra entidade).
Ou o tráfego na internet é confiável, ou o usuário crê que a camada de encriptação do
protocolo TLS/SSL é suficientemente segura contra escutas ilegais
Protocolo HTTP
Protocolo de Transferência de Hipertexto
Adquirindo certificados
Certificados assinados por autoridades podem ser de graça ou ter um custo anual.
Organizações podem também ter sua própria autoridade de certificação, particularmente
se são responsáveis por configurar navegadores para acessar suas próprias páginas (por
exemplo, páginas de uma rede interna ou de uma grande universidade).
Elas podem facilmente adicionar cópias de seus próprios certificados na lista de
certificados distribuída no navegador.
Protocolo HTTP
Protocolo de Transferência de Hipertexto
Diferenças para o HTTP
As URLs HTTPS começam com "https://" e utilizam a porta 443 como padrão, enquanto
as URLs HTTP começam com "http://" e utilizam a porta 80 como padrão.
HTTP é inseguro e sujeito a ataques de homem-no-meio e escutas ilegais, que podem
levar a atacantes ganharem acesso a contas de páginas na web e a informações sensíveis.
O HTTPS foi projetado para proteger contra esses ataques e é considerado seguro contra
eles (com exceção de versões mais antigas e obsoletas do SSL).
Protocolo HTTP
Protocolo de Transferência de Hipertexto
Download