Módulo 15 – A Web e seus aplicativos Até a década de 90, a internet era utilizada por acadêmicos, pesquisadores e estudantes universitários para a transferência de arquivos e o envio de correios eletrônicos. Embora essas aplicações continuem sendo extremamente úteis, naquele tempo a internet não era conhecida fora do mundo acadêmico e de pesquisas. Em 1990 entrou em cena uma nova aplicação importantíssima o WWW (World Wide Web), que chamou a atenção e transformou totalmente a maneira com que as pessoas interagem dentro e fora do seu ambiente de trabalho. O WWW é uma estrutura que permite o acesso a documentos que estão espalhados pelo mundo, o crescimento de sua popularidade foi ocasionada pela sua interface gráfica e colorida, que facilitou o seu uso por usuários iniciantes. O primeiro navegador gráfico surgiu em 1993 com o Mosaic, ele se tornou tão popular que um ano mais tarde o seu criador, o pesquisador Marc Andreessen, fundou a Netscape Communications que tinha como objetivo, o desenvolvimento de softwares para a internet. O Netscape foi por três anos seguidos o navegador mais utilizado pelos internautas. A opinião desses usuários mudou com a chegada do Internet Explorer, a Microsoft lançou uma estratégia de anexar o Internet Explorer junto com a instalação do seu sistema operacional Windows e acabou dando certo. Hoje o Internet Explorer é um dos Browser mais utilizados pelos usuários seguido um pouco de longe pelo Mozilla Firefox. Se observarmos bem a arquitetura geral da World Wide Web , iremos visualizar uma vasta coleção de arquivos espalhados por páginas da Web. Essas páginas contêm Links que permitem o acesso a outras páginas e a outros arquivos, esse processo pode ser repetido indefinidamente. O Hipertexto, que é a idéia de uma página apontar para outra, foi criado pelo professor do MIT Vannevar Bush em 1945, bem antes da internet. O modelo de funcionamento da Web é bem simples, um usuário solicita uma página através de um navegador disponível em sua máquina, o navegador envia a solicitação do site ao servidor desejado, o servidor responde a solicitação com a página desejada. Essa troca de mensagens é feita por uma conexão TCP através da internet. Passo a Passo: 1. O usuário digita a URL no navegador e solicita a página; 2. O navegador pergunta ao DNS qual é o endereço IP de www.google.com.br; 3. O navegador estabelece uma conexão TCP com o servidor www.google.com.br; 4. O navegador solicita a página principal (index.html); 5. O servidor Google envia o arquivo; 6. A conexão TCP é encerrada; 7. O navegador exibe a página do www.google.com.br. 15.1 URL – Uniform Resource Locators Falamos várias vezes que as páginas Web podem conter Links para outras páginas, para uma página apontar para outra é necessário mecanismos de nomenclatura e localização, por isso a URL está dividida em três partes: • • • O Protocolo HTTP; O nome DNS do Host (www.google.com.br); O nome do arquivo que é o caminho relativo ao diretório Web padrão (/home/google/index.html). O URL surgiu para resolver problemas relacionados ao nome da página, onde a página está localizada e como ela pode ser acessada. 15.2 Documentos HTML – Hypertext Markup Language As páginas Web são formadas pela linguagem HTML, essa linguagem permite a produção de páginas contendo textos, gráficos, Links, áudio e vídeo. Por ser uma linguagem de marcação, ela descreve como o documento deve ser formatado, essa formatação é feita através de comandos explícitos de formatação. Ex: <b> Frase em Negrito</b> - Deixa o texto em negrito. O comando <b> mostra onde o comando inicia e o </b> mostra onde o comando termina. Os navegadores conhecem muito bem os comandos existentes no HTML. Código: <html> <head> <title>Fundamentos de Rede de Dados e Comunicação</title> <style type="text/css"> <!-.style1 { font-family: Arial, Helvetica, sans-serif; color: #006600; } .style2 { font-family: Arial, Helvetica, sans-serif; color: #0033FF; } --> </style> </head> <body> <div align="center"> <h1 class="style1">Disciplina Comunicação</h1> de Fundamentos de Rede de Dados e <br /><br /> <h3 class="style2">Módulo 11 - A Web e seus aplicativos</h3> </div> </body> </html> Tabela de Comandos TAG <html>...</html> <head>...</head> <title>...</title> <body>..</body> <style>...</style> <h1>...</h1> <h3>...</h3> <div align=”center”>...</div> <br/><br/> Descrição Declara a página a ser criada em HTML Define o cabeçalho da página Define o título Delimita o corpo da página Define folha de estilo – CSS Cabeçalho nível 1 Cabeçalho nível 3 Alinha todo conteúdo de div ao centro Pula uma linha 15.3 HTTP – Hypertext Transfer Protocol O HTTP define como o cliente Web (Browser) requisita uma página Web a um servidor e como esse servidor transfere a página para o cliente. O HTTP utiliza o protocolo TCP como protocolo de transporte, a mensagem sai de suas mãos e passa para as mãos do TCP. Com essa ajuda, o TCP provê ao HTTP um serviço confiável de transferência de dados, que implica que todas as mensagens de requisição HTTP emitidas por um processo cliente, chegarão intactas ao servidor. Da mesma forma, todas as mensagens emitidas pelo servidor chegarão intactas ao cliente. O HTTP não precisa se preocupar com os dados perdidos e nem com os detalhes de como o TCP recupera essa perca de dados. Essas informações que são enviadas entre clientes e servidores não são armazenadas, se um cliente solicitar o mesmo objeto duas vezes o servidor não informará que esse objeto já foi enviado, ele enviará novamente o objeto. Como o HTTP não mantém nenhuma informação sobre o cliente, ele é denominado como um protocolo sem estado. Versões do HTTP: HTTP 1.0: Uma conexão é estabelecida, uma solicitação é entregue e uma resposta é recebida, depois disso a conexão é encerrada. HTTP 1.1: Foram adotadas conexões persistentes onde é possível estabelecer conexões TCP que permite o envio de várias solicitações e o recebimento de várias respostas. 15.4 Cookies Falamos anteriormente que os servidores HTTP não possuem estado, só que seria interessante que os sites Web identificassem seus usuários, para que isso aconteça é necessária a utilização dos Cookies. Os Cookies permitem que os sites monitorem seus usuários, grande parte dos portais( www.yahoo.com.br , www.globo.com) e sites de comércio eletrônico (www.submarino.com.br) fazem uso intensivo dos Cookies. O Cookie é formado pelos seguintes componentes: • • • • Uma linha de cabeçalho de Cookie na mensagem de resposta HTTP; Uma linha de cabeçalho de Cookie na mensagem de requisição HTTP; Um arquivo de Cookie mantido no computador do usuário e gerenciado pelo Browser; Um banco de dados de apoio no site Web. Como funciona o Cookie? Vamos supor que você deseja comprar algum produto no site www.submarino.com.br, quando você acessa o site pela primeira vez é criado um número de identificação exclusivo que será armazenado no seu computador, e uma entrada no banco de dados do servidor do submarino, esse número irá lhe identificar. Toda vez que você acessar o site do Submarino, seu Browser irá consultar a identificação no arquivo de Cookie e inserir no cabeçalho HTTP de requisição. Com isso o site Web pode monitorar se é você mesmo que está acessando o site novamente. Os sites de comércio eletrônico utilizam bastantes os Cookies por causa dos seus carrinhos de compra. Eles podem recomendar produtos com base na suas buscas da última visita, ou armazenar os produtos que você adicionou no carrinho e não comprou. Os Cookies podem ser utilizados para criar uma camada de sessão de usuário sobre o HTTP que é sem estado. Como exemplo, quando você acessa uma aplicação de Webmail, o Browser envia suas informações de Cookie ao servidor e este por sua vez, identifica-lhe por meio da sessão do usuário com a aplicação. Os Cookies não são totalmente aceitos, na maioria das vezes eles são considerados como violação de privacidade. Por permitir o armazenamento de informações do usuário, essas informações podem ser repassadas a terceiros, além disso ele pode coletar informações sobre o comportamento do usuário e gerar spams com as informações mais solicitas. 15.5 Correio eletrônico na Internet O Correio Eletrônico (E-mail) existe desde o início da internet, era uma das aplicações mais utilizadas quando a internet estava apenas começando, e com o passar do tempo ficou mais elaborado e poderoso. Hoje é tido como uma aplicação muito importante e de grande sucesso tanto comercialmente como para lazer. O E-mail é um meio de comunicação assíncrono em que as pessoas enviam e recebem mensagens quando desejam. Ao contrário do correio tradicional que é lento, o E-mail é rápido, fácil de distribuir e barato. A estrutura de E-mail na internet é composta pelos aplicativos de E-mail (Outlook Express, Outlook, Thunderbird), os servidores de E-mail e o protocolo SMTP. Quando você deseja enviar um E-mail para um destinatário X, você utiliza o programa de E-mail de sua preferência (permite ler, escrever, responder, encaminhar, anexar, salvar, etc.) para compor sua mensagem. O programa se encarrega de enviar a mensagem para o servidor de E-mail onde essa mensagem é adicionada em uma fila de saída desse servidor. Quando o usuário deseja ler a mensagem, ele utiliza o programa de E-mail para extrair a mensagem do servidor. Os servidores de E-mail formam o núcleo da infra-estrutura do E-mail. Cada destinatário possuí uma caixa postal localizada em um desses servidores. O SMTP é o principal protocolo da camada de aplicação do correio eletrônico na internet. Ele usa o TCP como serviço confiável para transferência dos dados de um remetente para um destinatário. O protocolo SMTP possuí dois lados: Cliente: Funciona no servidor de E-mail do cliente. Servidor: Funciona no servidor de E-mail do destinatário. Para ilustrar as operações básicas do protocolo SMTP vamos exibir a seguinte situação: 1. Usuário X abre seu programa de E-mail, fornece o endereço do usuário y ([email protected]), escreve uma mensagem e envia. 2. O programa do usuário X envia a mensagem para o seu servidor de E-mail, onde essa mensagem é colocada em uma fila. 3. O lado cliente do SMTP que funciona no servidor do usuário X, observa a mensagem e abre uma conexão TCP para o servidor SMTP, que funciona no servidor de E-mail do usuário Y. 4. O cliente SMTP envia a mensagem do usuário X para a conexão TCP. 5. No servidor de E-mail do usuário Y, o lado servidor SMTP recebe a mensagem e coloca em sua caixa postal. 6. O usuário Y abre o seu programa de E-mail para ler a mensagem quando quizer. 7. Uma observação importante, é que o protocolo SMTP na maioria das vezes não utiliza servidores de E-mail intermediários para enviar seus E-mail, mesmo que dois servidores estejam localizados em lados opostos do mundo. 15.6 Protocolo de acesso ao E-mail Existe um protocolo especial de acesso ao E-mail que transfere mensagens do servidor de E-mail para o computador local. Atualmente existem vários protocolos populares de acesso ao E-mail, entre eles POP3 (Post Office Protocol Versão 3), IMAP (Internet Mail Access Protocol) e o HTTP. • O SMTP é utilizado para transferir E-mails do servidor de E-mail do remetente para o servidor de E-mail do destinatário; • • Também é utilizado para transferir E-mail do aplicativo de E-mail do usuário remetente, para o servidor de E-mail do remetente; O Protocolo de acesso ao E-mail como o POP3, é utilizado para transferir Email do servidor de E-mail do destinatário para o seu aplicativo de E-mail. 11.7 Webmail Hoje, um grande número de usuários está acessando suas contas de E-mail através dos seus navegadores Web. O Hotmail foi o pioneiro no sistema de Webmail e lançou seus serviços na década de 90. Agora esse tipo de serviço é promovido por todos os provedores de acesso, empresas, portais, universidades, etc. Com esse serviço o aplicativo de E-mail é o próprio navegador, e o usuário comunica-se com sua caixa postal através do HTTP.