Camadas de Apresentação e Aplicação: Funções e Protocolos
Classificado em Computação
Escrito em em
português com um tamanho de 9,49 KB
Funções Básicas da Camada de Apresentação
- Conversão;
- Compressão;
- Criptografia.
Camada de Apresentação: Conversão de Dados
A Camada de Apresentação converte o formato do dado recebido pela Camada de Aplicação em um formato comum a ser usado na transmissão desse dado, ou seja, um formato entendido pelo protocolo usado.
Um exemplo comum é a conversão do padrão de caracteres (código de página) quando, por exemplo, o dispositivo transmissor usa um padrão diferente do ASCII.
O Padrão ASCII (American Standard Code for Information Interchange)
O padrão ASCII é uma codificação de caracteres para simplificar a comunicação entre os computadores e a troca de dados. Foi especialmente baseado na língua inglesa, pois foi criado nos EUA, e, por sua vez, os caracteres são representados em números. Esta tabela usa conjuntos de 8 bits para a representação de 256 caracteres.
O Padrão Unicode
O Unicode nasceu entre 1986 e 1987, tendo origem na Xerox com o objetivo de construir um banco de dados para relacionar caracteres idênticos do alfabeto japonês, chinês tradicional e chinês simplificado, a fim de construir uma fonte tipográfica para caracteres chineses estendidos, que outros sistemas de codificação não suportavam. Atualmente, o sistema Unicode cobre quase todas as línguas em uso, incluindo:
- Alfabeto Árabe
- Alfabeto Arménio
- Alfabeto Hebraico
- Braille
- ...
O Unicode utiliza largura fixa de 16 bits para representação de caracteres, podendo suportar cerca de 100.000 caracteres.
Camada de Apresentação: Compressão
A compressão de dados pega os dados recebidos da Camada de Aplicação (Camada 7) e os comprime (como se fosse um compactador comumente encontrado em PCs, como Zip ou Arj). A Camada de Apresentação (Camada 6) do dispositivo receptor fica responsável por descompactar esses dados.
Vantagem da Compressão
- A transmissão dos dados torna-se mais rápida, já que haverá menos dados a serem transmitidos: os dados recebidos da Camada 7 foram encolhidos e enviados à Camada de Sessão (Camada 5).
Camada de Apresentação: Criptografia e Segurança
Para aumentar a segurança, pode-se usar algum esquema de criptografia neste nível, sendo que os dados só serão decodificados na Camada de Apresentação (Camada 6) do dispositivo receptor.
Exemplo: Utilização de SSL (Secure Sockets Layer)
O SSL (Secure Sockets Layer) é um método de segurança das transações efetuadas via Internet. O padrão SSL foi criado pela Netscape, em colaboração com a Mastercard, Bank of America, MCI e Silicon Graphics. Assenta num método de criptografia por chave pública a fim de garantir a segurança da transmissão de dados na Internet. O seu princípio consiste em estabelecer um canal de comunicação protegido (codificado) entre duas máquinas (um cliente e um servidor) após uma etapa de autenticação.
Modelo de Transação Protegida por SSL 2.0
- A segurança das transações por SSL 2.0 baseia-se numa troca de chaves entre cliente e servidor. Inicialmente, o cliente conecta-se ao site comercial protegido por SSL e pede-lhe que se autentique. O cliente envia igualmente a lista dos criptossistemas que suporta, organizados por ordem decrescente de acordo com o comprimento das chaves.
- O servidor, quando recebe o pedido, envia um certificado ao cliente, contendo a chave pública do servidor, assinado por uma Autoridade de Certificação (CA), bem como o nome do criptossistema o mais elevado possível na lista com o qual é compatível (o comprimento da chave de codificação - 40 bits ou 128 bits - será o do criptossistema comum que tiver a maior dimensão de chave).
- O cliente verifica a validade do certificado, seguidamente cria uma chave secreta aleatória (mais exatamente um bloco supostamente aleatório), calcula esta chave com a ajuda da chave pública do servidor, seguidamente envia-lhe o resultado (a chave de sessão).
- O servidor está em condições de decifrar a chave de sessão com a sua chave privada. Assim, as duas entidades estão na posse de uma chave comum da qual são os únicos conhecedores. O resto das transações pode fazer-se com a ajuda da chave de sessão, garantindo a integridade e a confidencialidade dos dados trocados.
Camada de Aplicação (Camada 7)
Principais Protocolos da Camada de Aplicação
- HTTP (HyperText Transfer Protocol)
- SMTP (Simple Mail Transfer Protocol)
- DNS (Domain Name System)
- DHCP (Dynamic Host Configuration Protocol)
- SNMP (Simple Network Management Protocol)
- FTP (File Transfer Protocol)
Arquiteturas de Aplicações de Redes
- Cliente/Servidor
- Peer-to-Peer (P2P)
- Híbrida (Cliente/Servidor + Peer-to-Peer)
A Web e o Protocolo HTTP
O HTTP surgiu da necessidade de compartilhar informações na Internet (texto, som ou imagem). Para que a transferência dessas informações fosse possível, houve a necessidade de desenvolver uma forma padronizada de comunicação entre os clientes e os servidores web.
O protocolo HTTP foi implementado a partir de 1989 no CERN (European Center for High-Energy Physics) em Genebra, na Suíça, e é definido pelas RFCs 1945 e 2616.
Estrutura do Protocolo HTTP
- Arquitetura Cliente/Servidor
- Objetos
- Conexões
- Cabeçalho
Objetos HTTP
Uma página web é constituída por objetos. Um objeto pode ser um arquivo HTML, uma imagem, um áudio, etc. A maioria das páginas web são constituídas de um arquivo-base HTML e diversos objetos relacionados. Por exemplo, se uma página contiver um texto HTML e cinco imagens JPG, ela terá 6 objetos.
O arquivo-base referencia os outros objetos na página através de URLs (Universal Resource Locator). Cada URL tem dois componentes básicos:
- A identificação do servidor;
- A localização do objeto.
Exemplo: http://www.uniara.com.br/index.php
Conexões HTTP (Stateless)
O protocolo HTTP é stateless (sem estado), i.e., o servidor não mantém informação sobre os pedidos passados que foram realizados pelos clientes.
As conexões podem ser:
- Não-Persistentes
- Persistentes
E podem operar:
- Sem paralelismo
- Com paralelismo
Conexões Não-Persistentes (HTTP 1.0)
- Conexões TCP são fechadas a cada requisição e resposta.
- Conexões TCP consomem tempo de CPU, largura de banda e memória.
- As páginas web costumam ser compostas por diversos objetos, exigindo múltiplas conexões.
Conexões Persistentes (HTTP 1.1)
- Uma única conexão TCP é necessária.
- Essa conexão permanece aberta até que todos os objetos sejam transferidos.
Tipos de Conexões Persistentes
- Sem paralelismo: O cliente envia uma nova requisição somente quando a resposta anterior for recebida.
- Com paralelismo: O cliente envia várias requisições em sequência (pipelining) (padrão do HTTP 1.1).
Cabeçalho de Requisição HTTP
O Cabeçalho de Requisição é dividido em três seções:
- Linha de Requisição
- Método (exemplo: GET, POST, HEAD, DELETE)
- Caminho do objeto
- Versão do protocolo HTTP
- Linhas de Cabeçalho
- Corpo da Entidade
Cabeçalho de Resposta HTTP
O Cabeçalho de Resposta é dividido em três seções:
- Linha de Status
- Versão do protocolo HTTP
- Código de resposta (estado)
- Frase
- Linhas de Cabeçalho
- Corpo da Entidade
Proxy e Cache HTTP
O Proxy/Cache é uma entidade de rede instalada em uma dada organização que atende requisições HTTP em nome de um servidor de origem.
Objetivos e Benefícios do Proxy/Cache
- Atender o cliente sem envolver o servidor Web originador da informação.
- Possui disco de armazenamento próprio e mantém cópias de objetos recentemente requisitados.
- Pode reduzir significativamente o tempo de resposta para a requisição de um cliente.
- Pode reduzir significativamente o tráfego na Internet como um todo.
- O cliente configura seu browser para que o mesmo primeiramente consulte o proxy.
GET Condicional (Conditional GET)
Embora o cache possa reduzir os tempos de resposta, ele introduz um problema: a cópia de um objeto existente no cache pode estar desatualizada. O HTTP possui um mecanismo que permite que um proxy verifique se seus objetos estão atualizados, chamado GET Condicional (Conditional GET).
Uma mensagem de requisição HTTP é denominada uma mensagem GET Condicional se:
- Usar o método GET.
- Possuir uma linha de cabeçalho:
If-Modified-Since.