Como funcionam os servidores da Web
![]() Foto cedida por Shopping.com Servidor IBM Netfinity 5500 8660 |
Se você já teve curiosidade sobre o processo, ou sempre quis conhecer alguns dos mecanismos específicos que permitem que você navegue na Internet, então continue lendo. Neste artigo, vamos aprender como os servidores Web trazem as páginas até sua casa, escola ou escritório. Vamos começar!
O processo básico
Suponha que você esteja sentado em seu computador, navegando na Web, e recebe um telefonema de um amigo que diz: "Acabei de ler um artigo sensacional! Digite essa URL e verifique, é http://www.hsw.com.br/servidores-da-web.htm." Então você digita essa URL em seu navegador e pressiona a tecla Enter, como mágica, não importa em que lugar do mundo essa URL mora, a página aparece em sua tela.No nível mais básico possível, o seguinte diagrama mostra as etapas que trouxeram aquela página até sua tela:
![]() |
Seu navegador formou uma conexão com um servidor Web, solicitou uma página e a recebeu.
Na próxima página, vamos explorar isso um pouco mais.
Nos bastidores
Se você quiser se aprofundar um pouco mais nos detalhes do processo de obter uma página da Web na tela de seu computador, aqui estão as etapas básicas que ocorrem:- o navegador quebrou a URL em três partes:
- o protocolo ("http");
- o nome do servidor ("www.hsw.com.br");
- o nome do arquivo ("servidores-da-web.htm").
- o navegador se comunicou com um servidor de nomes para traduzir o nome do servidor "www.hsw.com.br" em um endereço IP, que ele usa para se conectar à máquina servidora;
- o navegador então formou uma conexão com o servidor naquele endereço IP na porta 80. (Vamos discutir as portas mais tarde neste artigo);
- seguindo o protocolo HTTP, o navegador enviou uma solicitação GET (obter) ao servidor, pedindo o arquivo "http://www.hsw.com.br/servidores-da-web.htm."Observe que cookies (literalmente, biscoitinhos) podem ser enviados pelo navegador para o servidor junto com a solicitação GET - veja Como funcionam os cookies da Internet para detalhes);
- o servidor então enviou o texto HTML da página da Web para o navegador. Os cookies também podem ser enviados do servidor para o navegador no cabeçalho da página;
- o navegador leu as tags HTML e formatou a página em sua tela.
Clientes e servidores
Em geral, todas as máquinas na Internet podem ser classificadas como de dois tipos: servidores e clientes. As máquinas que fornecem serviços (como os servidores Web ou servidores de FTP) para outras máquinas são os servidores. As máquinas usadas para conectar esses serviços são os clientes. Quando você se conecta ao Yahoo! em www.yahoo.com para ler uma página, o Yahoo! está fornecendo uma máquina (provavelmente um aglomerado de máquinas muito grande) para uso na Internet com o objetivo de atender a sua solicitação. O Yahoo! está fornecendo um servidor. Por outro lado, sua máquina provavelmente não está fornecendo serviços para ninguém mais na Internet. Assim, ela é uma máquina de usuário, também conhecida como um cliente. É possível e comum para uma máquina fazer ambos os papéis, de servidor e cliente, mas para os fins de entendimento neste artigo você pode pensar na maioria das máquinas como um ou outro.Uma máquina servidora pode fornecer um ou mais serviços. Por exemplo, uma máquina servidora poderia executar um software que permitisse atuar como um servidor Web, um servidor de e-mail e um servidor de FTP (em inglês). Os clientes que acessam uma máquina servidora o fazem com uma intenção específica; assim, os clientes dirigem suas solicitações a um servidor de software específico funcionando na máquina servidora global. Por exemplo, se você está executando um navegador Web em sua máquina, ela provavelmente irá querer falar com o servidor Web na máquina servidora. Seu aplicativo de Telnet (em inglês) irá querer falar com o servidor de Telnet, seu aplicativo de e-mail falará com o servidor de e-mail e assim por diante.
Endereços IP
Para manter todas essas máquinas em ordem, é designado um endereço exclusivo para cada máquina na Internet, chamado endereço IP. IP em inglês significa protocolo de Internet, e esses endereços são números de 32 bits, normalmente expressos como quatro "octetos" em um "número decimal com pontos". Um endereço IP típico se parece com isto:
216.27.61.137
Os quatro números em um endereço IP são chamados octetos porque podem ter valores entre 0 e 255, o que representa 28 possibilidades por octeto.
Todas as máquinas na Internet possuem um endereço IP exclusivo. Um servidor possui um endereço IP estático, que não é alterado. Um computador de uso pessoal que faça uma conexão dial-up por meio de um modem, freqüentemente recebe um endereço IP designado pelo ISP quando a máquina faz a conexão. Esse endereço IP é exclusivo para aquela sessão: ele poderá ser diferente da próxima vez que a máquina se conectar. Desse modo, um ISP precisa somente de um endereço IP para cada modem que ele suporta, em vez de um para cada cliente.
Se você está trabalhando em uma máquina Windows, poderá visualizar uma série de informações de Internet de seu computador, incluindo seu endereço IP atual e nome de hospedeiro, com o comando WINIPCFG.EXE (IPCONFIG.EXE para Windows 2000/XP). Em uma máquina UNIX, digite nslookup no prompt de comando, junto com um nome de máquina, como www.hsw.com.br - por exemplo, "nslookup www.hsw.com.br" -, para exibir o endereço IP do computador, e você poderá usar o comando hostname para saber o nome de sua máquina. Para mais informações sobre endereços IP, veja IANA (em inglês).
Quanto à Internet, a única coisa de que a máquina precisa para falar com um servidor é o endereço IP. Por exemplo, você pode digitar em seu navegador a URL http://209.116.69.66 e chegar à máquina que contém o servidor Web do HowStuffWorks. Em alguns servidores, o endereço IP sozinho não é suficiente, mas na maioria dos grandes servidores ele é.
Nomes de domínio
Como a maioria das pessoas tem problema para lembrar as seqüências de números que compõem os endereços IP, e como os endereços IP algumas vezes precisam mudar, todos os servidores na Internet também possuem nomes legíveis, chamados de nomes de domínio. Por exemplo, www.hsw.com.br é um nome permanente e legível. Temos mais facilidade em lembrar de www.hsw.com.br do que de 209.116.69.66.O nome www.hsw.com.br, na verdade, possui três partes:
- o nome do hospedeiro (host) ("www");
- o nome do domínio ("howstuffworks");
- o nome do domínio de alto nível ("com").
Servidores de nomes
Se você digitar a URL "http://www.hsw.com.br/servidores-da-web.htm" em seu navegador, ele irá extrair o nome "www.hsw.com.br", passá-lo para um servidor de nomes de domínio e este irá enviar de volta o endereço IP correto para www.hsw.com.br. Diversos servidores de nomes podem estar envolvidos na obtenção do endereço IP correto. Por exemplo, no caso de www.hsw.com.br, o servidor de nomes para o domínio de alto nível "com" sabe o endereço IP do servidor de nomes, que por sua vez conhece os nomes de hospedeiros. Uma consulta independente naquele servidor de nomes, operada pelo ISP HowStuffWorks, pode entregar o endereço IP real para a máquina servidora HowStuffWorks.
Em uma máquina UNIX, você pode acessar o mesmo serviço usando o comando nslookup. Basta digitar um nome como "www.hsw.com.br" na linha de comando e o comando fará uma consulta nos servidores de nomes e entregará o endereço IP correspondente para você.
Então é isto: a Internet é constituída por milhões de máquinas, cada uma com um endereço IP exclusivo. Muitas delas são máquinas servidoras, o que significa que elas fornecem serviços para outras máquinas na Internet. Você já ouviu falar de muitos desses servidores: servidores de e-mail, servidores Web, servidores de FTP, servidores Gopher e servidores Telnet, para dar alguns exemplos. Todos eles são fornecidos por máquinas servidoras.
Computador
Qualquer máquina servidora disponibiliza seus serviços para a Internet usando portas numeradas, uma para cada serviço disponível naquele servidor. Por exemplo, se uma máquina servidora executa um servidor Web e um servidor de FTP, o servidor Web normalmente estaria disponível na porta 80, ao passo que o servidor de FTP estaria disponível na porta 21. Os clientes se conectam a um serviço em um endereço IP específico e a uma porta também específica.Aqui estão alguns números de portas comuns:
- echo 7 (eco)
- daytime 13 (hora do dia)
- qotd 17 (citação do Dia)
- ftp 21
- telnet 23
- smtp 25 (Simple Mail Transfer, significando e-mail)
- time 37 (hora)
- nameserver 53 (nome do servidor)
- nicname 43 (apelido ou Who Is - quem é)
- gopher 70 (outro protocolo de Internet)
- finger 79 (nome associado a um endereço de e-mail)
- WWW 80
Protocolos
Assim que o cliente se conecta a um serviço em uma porta particular, ele acessa o serviço usando um protocolo específico. O protocolo é a maneira pré-definida de alguém que quer usar um serviço falar com aquele serviço. Esse "alguém" poderia ser uma pessoa, mas normalmente é um programa como um navegador Web. Os protocolos freqüentemente são textos e simplesmente descrevem como o cliente e o servidor terão sua conversação.Talvez o protocolo mais simples seja o protocolo daytime (hora do dia). Se você se conectar à porta 13 de uma máquina que suporte um servidor de tempo diurno, o servidor enviará sua impressão da data e do horário atuais e então fechará a conexão. O protocolo diz: "Se você se conectar comigo, eu enviarei a data e a hora e então me desconectarei". A maioria das máquinas UNIX suporta esse servidor. Se você quiser experimentar, poderá se conectar a um deles usando um aplicativo Telnet. Em UNIX, a sessão seria como esta:
%telnet web67.ntx.net 13Trying 216.27.61.137...
Connected to web67.ntx.net.
Escape character is '^]'.
Sun Oct 25 08:34:06 1998
Connection closed by foreign host.
Em uma máquina Windows, você pode acessar esse servidor digitando "telnet web67.ntx.net 13" no prompt do MSDOS.
Nesse exemplo, web67.ntx.net é a máquina UNIX do servidor e 13 é o número da porta para o serviço de hora do dia. O aplicativo Telnet se conecta com a porta 13 (a telnet se conecta naturalmente à porta 23, mas você pode direcioná-la para se conectar a qualquer porta); então, o servidor envia a data e a hora e se desconecta. A maioria das versões de Telnet permite que você especifique um número de porta, de modo que você pode tentar isso usando qualquer versão de Telnet disponível em sua máquina.
A maioria dos protocolos está envolvida em mais coisas do que a hora do dia e são especificados em documentos "Solicitação de Comentário" (em inglês, RFC) que estão disponíveis ao público (veja http://sunsite.auc.dk/RFC/ (em inglês) para um belo arquivo de todas as RFCs). Todo servidor Web na Internet está em conformidade com o protocolo HTTP. A forma mais básica do protocolo compreendida por um servidor HTTP envolve apenas um comando: GET (obter). Se você se conectar a um servidor que compreenda protocolo HTTP e disser a ele "GET nome do arquivo," o servidor responderá enviando o conteúdo do arquivo com aquele nome e, então, se desconectará. Aqui está uma sessão típica:
%telnet www.hsw.com.br 80 Trying 216.27.61.137...
Connected to howstuffworks.com.
Escape character is '^]'.
GET http://www.hsw.com.br/
...
Connection closed by foreign host.
No protocolo HTTP original, tudo que você teria enviado seria o nome do arquivo real, como "/" ou "/servidores-da-web.htm." O protocolo foi modificado posteriormente para manipular o envio da URL completa. Isso permitiu que as companhias que hospedavam domínios virtuais, em que vários domínios residiam em uma única máquina, usasem um endereço IP para todos os domínios que elas hospedavam. Acontece que centenas de domínios são hospedados em 209.116.69.66, o endereço IP do HowStuffWorks.
Juntando tudo
Agora você conhece muita coisa sobre a Internet. Você sabe que, ao digitar uma URL em um navegador, ocorrem as seguintes etapas:- o navegador quebra a URL em três partes:
- o protocolo ("http");
- o nome do servidor ("www.hsw.com.br");
- o nome do arquivo ("servidores-da-web.htm").
- o navegador se comunica com um servidor de nomes para traduzir o nome do servidor "www.hsw.com.br" em um endereço IP que ele usa para se conectar àquela máquina servidora;
- o navegador então forma uma conexão com o servidor Web naquele endereço IP na porta 80;
- seguindo o protocolo HTTP, o navegador envia uma solicitação GET (obter) ao servidor, pedindo o arquivo http://www.hsw.com.br/servidores-da-web.htm.;
- o servidor então envia o texto HTML da página da Web para o navegador. Os cookies também podem ser enviados do servidor para o navegador no cabeçalho da página;
- o navegador lê as tags HTML e formata a página em sua tela.
Segurança
Com base nessa descrição, você pode ver que o servidor Web pode ser um trecho de software bastante simples. Ele pega o nome do arquivo enviado para ele com o comando GET, recupera o arquivo e o envia pela conexão até o navegador. Mesmo que você considerasse todos os códigos para manipular as portas e conexões, poderia criar facilmente um programa C que implementasse um servidor Web simples em menos de 500 linhas de código. Obviamente, um servidor Web completo de nível empresarial tem mais coisas, mas o fundamental é muito simples.A maioria dos servidores acrescenta algum nível de segurança ao processo de servir. Por exemplo, se você já visitou uma página da Web e viu o navegador apresentar uma caixa de diálogo solicitando seu nome e senha, encontrou uma página protegida. O servidor permite que o proprietário da página mantenha uma lista de nomes e senhas para aquelas pessoas que têm permissão de acessar a página: o servidor deixa somente as pessoas que conhecem a senha correta verem a página. Servidores mais avançados acrescentam segurança adicional para permitir uma conexão criptografada entre o servidor e o navegador, de modo que informações sensíveis como números de cartão de crédito possam ser enviados pela Internet.
Isso diz respeito a um servidor Web que fornece páginas estáticas padrão. Páginas estáticas são aquelas que não mudam a menos que o criador edite a página.
Páginas dinâmicas
Mas e quanto às páginas da Web que são dinâmicas? Por exemplo:- qualquer livro de visitas permite que você deixe uma mensagem em formato HTML e, da próxima vez que o livro de mensagens é visualizado, a página conterá a nova entrada;
- o formulário whois da Network Solutions (em inglês) permite que você introduza um nome de domínio em um formulário, e a página devolvida é diferente dependendo do nome de domínio introduzido;
- qualquer mecanismo de busca permite que você introduza palavras-chave em um formulário HTML e, então, cria dinamicamente uma página baseada nas palavras-chave que você introduziu.
Para mais informações sobre servidores Web e assuntos relacionados, verifique os links na próxima página.

16:33
|
Marcadores:
Como funcionam os servidores da Web
|
- a teoria do big bang
- Calendários
- como funcinava o titanic
- Como funcionam os servidores da Web
- Como funcionam os vírus de computador
- Como ter idéias para escrever no blog?
- Como treinar um cão
- computadores
- guia de tudo
- horário no mundo
- O que escrever para um blog?
- Qual o melhor lugar para hospedar um blog?
- telescópio caseiro





0 comentários:
Postar um comentário