Vamos agora falar sobre o principal protocolo da arquitetura web. O HTTP que também está na imagem 01:
Imagem 01 - Arquitetura Web
Um protocolo é uma convenção ou padrão que controla ou permite a conexão, comunicação e transferência de dados através de dois pontos computacionais. Eles podem ser implementados por hardware ou software ou a combinação dos dois.
Os protocolos em geral implementam as seguintes funcionalidades:
- detecção da conexão física subjacente ou a existência de um nó;
handshaking (aperto de mão); - negociação de várias características de uma conexão;
- como iniciar e finalizar uma mensagem;
- como formatar uma mensagem;
- o que fazer com mensagens corrompidas ou mal formatadas;
- como detectar perda inesperada de conexão e o que fazer em seguida;
- término de sessão ou conexão
Imagem 2 - Modelo OSI
Ou seja, o HTTP é um protocolo em cima de outros protocolos, como por exemplo o TCP, isto é possível observar na Imagem 3.
Imagem 3 - Modelo OSI, algumas implementações
O HTTP, atualmente na versão 1.1, é um protocolo sem estado, ou seja, o cliente não fica sempre conectado ao servidor, faz esta conexão a cada requisição de um determinado recurso. Sua comunicação é feita através de requisições e respostas(Request/Response) e é feita através de uma mensagem que é composta de um cabeçalho e corpo.
As mensagens de requisição e de resposta têm informações diferentes. A mensagem HTTP de requisição é feita por um cliente, na maioria dos casos um navegador, que informa dentre outros dados qual o recurso solicitado e qual o método de requisição, os mais comuns são:
- GET
- POST
Existe também uma implementação segura, critptografada, do HTTP, chamada HTTPs. O HTTPs é implementado sobre uma camada SSL(Secure Sockets Layer) ou TLS (Transport Layer Security). Com ele é possível trafegar informações seguras entre cliente e servidor, garantindo assim que as mensagens que forem interceptadas sejam praticamente impossíveis de serem descriptografadas sem as chaves.
Para saber quando estamos em um site seguro, que implementa HTTPs, basta se atentar ao navegador. A url deverá estar iniciada com "https://" e um cadeado é comumente exibido, veja isto no internet explorer, na imagem 4 e no firefox na imagem 5.
Imagem 4 - Conexão segura no Internet Explorer
Imagem 5 - Conexão segura no Firefox
Outros personagens muitas vezes encontrados na arquitetura WEB é o Firewall e o Proxy. O Firewall é o responsável por barras requisições não desejáveis a um computador. Proxy é um tipo de servidor que atua nas requisições dos seus clientes executando os pedidos de conexão a outros servidores.
Referências:
http://en.wikipedia.org/wiki/OSI_model
http://www.novell.com/info/primer/prim05.html