30
SEMINÁRIO REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Embed Size (px)

Citation preview

Page 1: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

SEMINÁRIOREDES DE COMPUTADORES

A PRESENTAÇÃO: PROTOCOLOS DA WEBPROFESSORA: ANTONIO OSEIAS

Page 2: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

PROTOCOLO DA WEB

Page 3: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Protocolos: HTTP, HTTPS, FTP, SMTP, POP3 e IMAP4

Page 4: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Chama-se "Web" (nome inglês que significa "tela"), contracção de "World Wide Web" (daí o acrónimo www), a uma das possibilidades oferecidas pela rede Internet de navegar entre documentos ligados por relações hipertexto. 

O conceito do Web foi craido no CERN (Centro Europeu de Investigação Nuclear) em 1991 por uma equipa de investigadores a que pertencia Tim-Berners LEE, o inventor do conceito de hiperligação, considerado hoje como o pai fundador da Web. 

O princípio de web assenta na utilização de hiperligações para navegar entre documentos (chamados "páginas web") graças a um software chamado navegador (ou em inglês browser). Uma página web é assim um simples ficheiro texto escrito numa linguagem de descrição (chamada HTML), permitindo descrever a formatação do documento e incluir elementos gráficos ou ligações para outros documentos com a ajuda de balizas. 

Introdução à Web

Page 5: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Já citados no tópico anterior, são conjuntos de regras. Na Internet, a principal família é a TCP/IP, formada por diversos protocolos, como os abaixo:

TCP / UDP / IP / HTTP / HTTPS / FTP / TFTP / TELNET / SSH / POP3 / IMAP / SMTP / SNMP / DHCP

A grande maioria dos protocolos opera na camada 7 (Aplicação), embora haja protocolos que operam na camada 6 (Apresentação), na camada 4 (Transporte) e na camada 3 (Rede). Abaixo, uma descrição básica de alguns deles:

Page 6: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

HTTP (HyperText Transfer Protocol): protocolo usado na Internet para transmissão de páginas da WWW. Utilizado na camada 7.

HTTPS (HyperText Transfer Protocol Secure): é uma implementação do protocolo HTTP sobre uma camada SSL (Secure Sockets Layer). Essa camada adicional permite que os dados sejam transmitidos através de uma conexão criptografada e que se verifique a autenticidade do servidor e do cliente, através de certificados digitais.

TCP (Transmission Control Protocol): fornece um serviço de entrega de pacotes confiável, e orientado por conexão. Executa a segmentação e reagrupamento de grandes blocos de dados enviado pelos programas, e garante o sequenciamento adequado e entrega ordenada de dados segmentados. Envia mensagens positivas dependendo do recebimento bem-sucedido dos dados.

Page 7: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

FTP (File Transfer Protocol): protocolo usado na transferência de arquivos. Há o TFTP (Trivial FTP), que utiliza portas UDP (ao contrário do FTP, que usa as portas TCP), e assim não tem verificação de erros ou recursos de segurança.

POP3 (Post Office Protocol): usado na recepção de e-mails, para acessar o servidor POP para transferir e-mails armazenados no servidos para o computador local do usuário. Após o recebimento, os e-mails são excluídos do servidor.

IMAP (Internet Message Access Protocol): também usado para recepção de e-mails, superior em recursos ao POP. A versão atual é o IMAP4. É possível sincronizar o computador local com as cópias das mensagens arquivadas no servidor.

SMTP (Simple Mail Transfer Protocol): protocolo simples, usado para envio de e-mails.

Page 8: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

o HTTP - Hypertext Transfer Protocol. Esse protocolo, como você deve saber, é utilizado

pelos navegadores Web para acessar páginas na Internet (ver Figura 1).

Ele é mantido pelo World Wide Web Consortium (W3C), uma

comunidade internacional que desenvolve padrões para garantir o

crescimento e continuidade da Web.

PROTOCOLO HTTP - HYPERTEXT TRANSFER PROTOCOL

Page 9: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Além de ser usado pelos navegadores, ele é também ser utilizado em

diversos outros softwares. Aplicativos desktop que se comunicam

com servidores Web via Internet geralmente fazem o uso diretodesse protocolo. Você pode pensar, de uma forma simples, que oprograma simula o comportamento do navegador e as ações dousuário, ou seja, o servidor Web pode não saber se a requisiçãopartiu de uma pessoa navegando na Web ou um aplicativo. Fora

ofato de que todas as implementações de aplicativos que secomunicam via serviços Web (os chamados Web Services)

utilizamindiretamente o protocolo HTTP.

Page 10: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

O protocolo HTTP basicamente é utilizado em uma arquitetura cliente-servidor (ver Figura ). Em suma, esse protocolo define como aplicações clientes (navegadores Web, etc.) requisitam recursos em servidores Web (páginas HTML, imagens, vídeos, aplicativos instalados, etc.). Nessa comunicação, o cliente envia mensagem de requisição ao servidor informando, entre outras coisas, o recurso que quer acessar. A partir daí o servidor retorna uma mensagem de resposta com o recurso solicitado ou com uma mensagem de erro, caso haja algum problema no atendimento da solicitação do cliente.

Note na Figura que o cliente informa uma URL – Uniform ResourceLocater, a qual é um tipo de URI - Uniform Resource Identifier, ouseja, um identificador de qual recurso o cliente está tentandoacessar. Todos vocês com certeza conhecem o formato das URLs:protocolo://máquina/caminho/recurso.

Page 11: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Por fim, um assunto relacionado ao protocolo HTTP é o protocolo HTTPS, uma extensão do protocolo HTTP que inclui o uso de criptografia para a realização de comunicação segura. Esse assunto não será abordado nesse curso. Ele deverá ser coberto

Page 12: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

É 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.

HTTPS (HyperText Transfer Protocol Secure)

Page 13: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

O protocolo HTTPS é utilizado, em regra, quando se deseja evitar que a informação transmitida entre o cliente e o servidor seja visualizada por terceiros, como por exemplo no caso de compras online. A existência na barra de tarefas de um cadeado (que pode ficar do lado esquerdo ou direito, dependendo do navegador utilizado) demonstra a certificação de página segura (SSL). A existência desse certificado indica o uso do protocolo HTTPS e que a comunicação entre o browser e o servidor se dará de forma segura. Para verificar a identidade do servidor é necessário abrir esse certificado com um duplo clique no cadeado para exibição do certificado.

Nas URLs dos sites o início ficaria 'https://'. Consulte a ajuda do seu navegador para mais informações de como ele avisa sobre sites seguros.

Page 14: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Muitos navegadores mostram um aviso se recebem um certificado inválido. Navegadores mais antigos, quando se conectam a uma página com um certificado inválido, mostravam ao usuário um aviso em uma caixa de diálogo e perguntavam se ele desejava continuar. Navegadores mais recentes mostram o aviso preenchendo a janela inteira e também exibem as informações de segurança da página na barra de endereços. Certificados de validação estendida tornam verde a barra de endereço em navegadores mais recentes. A maioria dos navegadores exibe, também, um aviso ao usuário quando a página visitada contém uma mistura de conteúdo criptografado e não criptografado (uma página que utiliza HTTPS mas faz referência a links HTTP de alguma forma na página, por exemplo no link de uma foto).

Page 15: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

A Electronic Frontier Foundation opinou que "em um mundo ideal, toda requisição na web poderia utilizar HTTPS como padrão" e forneceu um complemento para o Firefox chamado "HTTPS Everywhere" (HTTPS em todo lugar) que funciona em várias páginas muito visitadas.

Page 16: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Diferenças para o HTTPAs 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).

Page 17: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

O protocolo FTP (File Transfer Protocol) é um dos protocolos da camada de aplicação responsável pela transferência de arquivos pela rede. Para realizar essa tarefa, ele gerencia a troca de informações entre uma máquina cliente e um servidor. Assim como o protocolo HTTP, o FTP também segue uma arquitetura cliente/servidor (ver Figura ).

PROTOCOLO FTP

Page 18: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Note que este protocolo também faz uso de conexões TCP. Istoporque, assim como no caso do protocolo HTTP, é importante que oconteúdo a ser transmitido chegue em sua totalidade, na ordemcorreta e livre de erros. o protocolo TCP da camada de transporte provê esses aspectos de confiabilidade da transmissão para as camadas deaplicação.

Page 19: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

No caso do protocolo FTP, são utilizadas duas conexões de comunicação. A primeira delas é uma conexão de controle, a qual utiliza por padrão a porta 21. Essa conexão é estabelecida primeiro e mantida até o final da sessão, visando a autenticação de usuários e o envio de comandos FTP, os quais serão vistos mais adiante. Note que esse protocolo é orientado à sessão. Uma vez aberta a conexão, vários comandos são executados e existe a noção de estado da sessão (autenticação, configuração da forma na qual os arquivos serão transferidos, modo de funcionamento, etc.). Já a segunda conexão é chamada de conexão de dados, conexão esta responsável pelo envio e recebimento dos arquivos a serem transferidos. A conexão de dados utiliza por padrão a porta 20 e é estabelecida e mantida apenas durante a transferência de arquivos. Ao se enviar um comando pela conexão de controle, o servidor executará uma tarefa e retornará um código de estado ASCII com uma mensagem de texto opcional. Por exemplo, “200” ou “200 OK” para indicar que o comando foi realizado com sucesso.

Page 20: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

A Figura mostra a comunicação do cliente com o servidor FTP usando as conexões de controle e de dados, no chamado modo ativo. Nesse modo de funcionamento, o cliente informa a sua porta de dados que estará preparada para fazer a conexão de dados. O servidor, a partir da porta 20, abre uma conexão TCP para a porta informada pelo cliente e transmite os dados (recebe ou envia arquivo).

Page 21: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

No modo passivo, como mostrado na Figura , o cliente envia um comando especial (PASV) para o servidor, o qual retorna a porta na qual ele ficará escutando à espera da conexão de dados com o cliente. Essa conexão é então aberta pelo cliente. Com isso, o firewall do cliente não precisará ficar aberto para serem criadas conexões originadas por máquinas externas (incluindo a de possíveis hackers), pois tanto as conexões de controle como a de dados são abertas pelo cliente.

Page 22: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Uma vez estabelecida a conexão de dados, a transferência dos mesmos pode ser feita de três modos. O modo stream (fluxo) ,onde a camada de aplicação repassa para a de transporte (com o TCP) todo o conteúdo a ser transmitido. Já no modo em blocos, os dados são quebrados em blocos para só então serem repassados para a camada de transporte. O FTP precisará então adicionar a cada bloco informações de cabeçalho indicando informações sobre ordem, tamanho do bloco, etc. Já no modo comprimido, os dados são comprimidos utilizando algum algoritmo de compressão de dados antes de serem passados para a camada de transporte.

Como os dados serão repassados de uma máquina para outra, possivelmente com sistemas operacionais e plataformas de hardware diferentes, é importante tomar cuidado com a forma de representação dos dados durante transferência para evitar problemas de compatibilidade.

Page 23: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Ainda sobre o assunto da conexão FTP, vale ressaltar para vocês que os endereços para conexões com os servidores FTP seguem o formato ftp://usuario:senha@servidor. Não é necessário informar os campos usuário e senha no endereço, mas os mesmos serão solicitados depois pelo servidor. Um usuário padrão chamado 'anonymous‘ geralmente é criado quando se quer permitir acessos anônimos, cuja “senha” solicitada é usualmente o e-mail do usuário visitante.

Page 24: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Os principais protocolos utilizados no envio e recebimento de mensagens de correio eletrônico. Falaremos sobre o protocolo SMTP para envio de mensagens e das formas de acesso aos e-mails via POP3 e IMAP. Na Figura , está sendo mostrado também o acesso a e-mails via HTTP, que é o acesso via navegador Web ao programa que roda no servidor de correio.

PROTOCOLOS DE CORREIO ELETRÔNICO (SMTP, POP3 e IMAP)

Figura . Protocolos de correio eletrônico.

Page 25: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

O primeiro e mais cobrado dos protocolos relacionados a correio eletrônico é o SMTP –Simple Mail Transfer Protocol. O SMTP é responsável pelo envio de mensagens de e-mail. Como elementos integrantes desse sistema de envio de mensagens de e-mail, temos o agente do usuário e o servidor de correio (ver Figura 17). O agente do usuário é o programa que faz interface com o usuário, podendo ser um programa desktop (Outlook, por exemplo) ou o próprio navegador Web. Já o servidor de correio é responsável por gerenciar os e-mails de um www.pontodosconcursos.com.br determinado domínio. Seu endereço IP, inclusive, é determinado pela entrada MX correspondente nos servidores DNS.

Page 26: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

O servidor de correio é responsável por manter uma caixa postal para cada usuário. Existe então um cadastro de usuário, com suas informações pessoais, etc. Além disso, no servidor de correio existe uma fila de mensagens a serem enviadas. Isto porque podem ocorrer erros durante o envio das mensagens de e-mail (servidor de correio do destinatário está fora do ar, problemas de conexão com Internet, etc.). Essas mensagens ficam então na fila para serem reenviadas posteriormente e de forma transparente para o usuário.

No processo de comunicação do SMTP, os servidores de correio exercem tanto o papel de servidores como também o de clientes. Observe novamente a Figura 16. Nela o servidor de correio de Alice acaba atuando também como cliente em relação ao servidor de Bob. Toda a comunicação entre os servidores SMTP é feita utilizando-se o protocolo TCP (pelos seus atributos de confiabilidade já comentados) e a porta 25, por padrão.

Page 27: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

As mensagens de e-mail possuem um cabeçalho e um conteúdo. São vários os itens que podem existir no cabeçalho de um e-mail, como mostrado nas tabelas a seguir. Note que, apesar de simples, alguns campos podem confundir. Um exemplo é o campo Sender, o qual indica quem efetivamente enviou o e-mail. Este pode ser diferente do que consta no campo from. Isto porque alguns e-mails como o do google permite que você envie uma mensagem de um e-mail da conta do google (Sender: [email protected]) em nome de outra conta de e-mail (from: [email protected]).

Page 28: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Os protocolos utilizados na entrega das mensagens. Caso o usuário não esteja utilizando um navegador Web que acessa diretamente o servidor de correio, ele estará utilizando um programa que precisa se comunicar com o servidor para ter acesso às mensagens. Existem duas opções para isso. A primeira é o protocolo POP3 – Post Office Protocol Version 3. Este protocolo permite o acesso às mensagens baixando-as para a máquina do cliente. Depois disso, as mensagens são apagadas. Desta forma, o armazenamento de mensagens no servidor só ocorre para as novas mensagens que forem sendo recebidas. Uma vantagem disso é que o uso de espaço requerido para o servidor é reduzido, pois cada cliente de e-mail estará usando seu próprio computador para armazenar suas mensagens. A comunicação é feita por padrão na porta TCP 110.

Já a segunda opção (protocolo IMAP - Internet Message Access Protocol, cuja versão mais atual é IMAP 4) utiliza a porta TCP 143 e permite o acesso às mensagens armazenadas no servidor sem fazer o download das mesmas. Uma das vantagens desse protocolo é que você pode ler seus e-mails à partir de qualquer máquina conectada na Internet, além de não precisar estar se preocupando com backups periódicos, considerando-se que eles já existem no servidor. Também é possível compartilhar caixas postais entre usuários membros de um grupo de trabalho.

Page 29: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Apesar de todos esses benefícios, existem também desvantagens nesse protocolo. A perda de acesso à Internet irá impedir o seu acesso a qualquer e-mail, inclusive os antigos (o que não ocorre no POP3). Na verdade, basta a Internet estar lenta para esse protocolo deixar o usuário de e-mail irritado. Isto porque no IMAP a comunicação entre o agente do usuário e o servidor é frequente, já que tudo fica armazenado no servidor. Para amenizar esses problemas, o protocolo permite que uma mensagem seja lida sem que seus anexos sejam baixados, coisa que não ocorre no POP3. Uma ressalva sobre o POP3 é que ele pode ser configurado para não apagar as mensagens do servidor. Isto é bom por questões de backup e para permitir que, em emergências, ainda seja possível visualizar os e-mails via IMAP a partir de qualquer máquina conectada na Internet.

A tabela a seguir faz um resumo das principais características do POP3 e do IMAP.

Page 30: REDES DE COMPUTADORES A PRESENTAÇÃO: PROTOCOLOS DA WEB PROFESSORA: ANTONIO OSEIAS

Muito bem, encerramos aqui nosso seminário . Onde foi estudado as características e o

funcionamento dos principais protocolos da camada de aplicação: HTTP, FTP, SMTP, POP3 e IMAP.

Boa noite!