1. Escola Superior de Artes e Design
Pós graduação de Web Design
Cláudia Marques
Protocolos Web
Para se ser Web designer acho que é importante compreender o funcionamento
da Web. O problema é que, naturalmente, tudo o que envolva computação e li-
gações de rede é por vezes um pouco mais complexo do que gostaríamos. Isso
torna-se, inevitavelmente, uma barreira.
Isto para explicar que, embora com este trabalho tenha aprendido para que
servem certos protocolos, há certas “peças” que ficam por perceber e que tornam
essa noção numa coisa um pouco abstracta.
É difícil generalizar quando falamos sobre protocolos, pois eles
variam muito em propósito e sofisticação. Mas, a um nível mais
superficial, podemos dizer que estes servem essencialmente para detectar
conexões, estabelecê-las, “negociá-las” (analisar as
características destas e executá-las da melhor maneira), iniciar e
finalizar uma mensagem, reagir a mensagens mal formatadas ou
corrompidas e terminar conexões.
Portanto, protocolos web são “as regras que governam a sintaxe, semântica e sin-
cronização da comunicação” (“Protocolo (ciência da computação)” , para. 1) entre
computadores.
Eu gosto de equiparar linguagens de computação a línguas faladas, nomeada-
mente o português e o inglês. É mais simples pensar que, tal como nós, os com-
putadores precisam de saber como comunicar. E de um ponto de vista simplista
um protocolo é como uma gramática computacional.
Tendo já explicado vagamente a noção de protocolo, vou retroceder um pouco na
história da web para falar de noções que nos ajudam a perceber o conceito um
pouco melhor.
Tudo começa na World Wide Web, que é, no fundo, uma das possibilidades que
a internet nos oferece. O príncipio da web assenta na utilização de hiperligações
para navegar entre páginas web que, por sua vez, são simples ficheiros de texto
escritos em linguagem de descrição (ou markup).
2. Esses ficheiros de texto são lidos por um browser, um programa construído para
ler e intrepretar comandos e especificações dos protocolos da internet, tendo
como processamento nativo os formatos mais comuns (entre eles o HTML e o
JPEG, por exemplo).
Mas essa informação, para poder ser lida num browser de qualquer computador
local, tem que estar alojada em algum lugar de acesso geral. E, mais ainda, tem
que haver uma maneira de transferir esses dados desse sítio de alojamento para o
computador local.
Para alojar essa informação existem Host Computers (servers) que são computa-
dores construídos especificamente para alojar web sites e que contém o software
necessário para o fazer, e que estão constantemente ligados á internet. Estes
computadores são propriedade de um Web Hosting Provider, que nada mais é que
uma empresa que disponibiliza o serviço de web hosting aos seus clientes.
Cada vez que vemos uma web page no nosso browser, iniciamos um request
dessa mesma página através da Internet para o web server. Aliás, na maioria dos
casos, cada página resulta em vários requests: se a página tiver três imagens isso
resulta em pelo menos 4 requests: um para a página e um para cada imagem, já
que o download da imagem é feito isoladamente.
Isto porque, como qualquer pessoa que já tenha escrito um documento HTML
sabe, as imagens são ficheiros externos ao ficheiro HTML e que são inseridas
neste simplesmente indicando a source desta.
Para que fique claro esta questão dos requests, ajuda compreender o conceito de
URL ( Uniform Resource Locator ). Para além de que vemos já uma referência a
um dos protocolos mais comuns da web: o HTTP.
Um exemplo de um URL é: http://www.google.com/. Em que http:// é a especifi-
cação do protocolo, www é o endereço do servidor e google.com o nome do
domínio. O google provavelmente não será o melhor exemplo para falar de outra
componente do URL porque, sendo um motor de busca, utiliza querys para ir bus-
car directórios. Ainda assim, suponhamos que se trata de uma página web normal.
Temos então o nome de domínio seguido de directórios e tipos de ficheiros: www.
google.com/pastaX/ficheiroY.html.
Percebendo o URL há uma pergunta que se levanta: como é que então o browser
reconhece o web site correcto? Ou seja, como é que o browser nos devolve o site
que queremos ver através de um nome de domínio?
3. Aqui entra em cena um outro protocolo, também um dos mais comuns e
fundamental ao funcionamento da web: o IP (Internet Protocol). Acho que não me
engano ao dizer que é do conhecimento geral o que é um IP. Ou melhor, toda a
gente sabe reconhecer estes numeros 194.153.205.26 como sendo um endereço
IP e compreende que, de alguma maneira, estes números identificam um site.
Mas a questão é mais complexa.
Já vimos que um URL contem um nome de domínio e não um IP, então como é que
o browser faz essa correspondência?
Neste contexto é fundamental falarmos de DNS (Domain name system). O DNS é
uma longa base de dados que contém todos os nomes de domínio e o seu IP cor-
respondente. Isto, claramente, explicado de uma forma muito simplista: Existem
muitos servidores DNS, uns maiores e outros mais pequenos, estruturados
hierárquicamente para possibilitar um melhor funcionamento da web.
Finalmente já podemos compreender como o browser encontra o web site
correcto: primeiro procura pelo domínio na sua própria memória. Se não o encon-
trar, procura-o no ficheiro hosts do nosso computador (ficheiro pertencente ao
sistema operativo que faz a ligação de IP’s ao servidor DNS). Se mais uma vez não
o encontrar procura no sistema DNS default (definido nas definições de rede de
cada computador) que normalmente é o do serviço que fornece a internet (ISP)
ou da empresa onde se trabalha. Por último procura num sistema DNS algures na
rede que contenha o domínio ( e aqui a estrutura hierárquica facilita muito o
processo.
Se nenhum destes for bem sucedido, então deparamo-nos com um erro DNS, o
famoso “server not found”. Nesse caso o endereço pode já não existir ou podem
existir problemas de rede entre o computador local e o servidor DNS.
Já falei vagamente de dois protocolos: IP e HTTP. Agora, já tendo falado das
noções essenciais para compreender o conceito de protocolo, vou mergulhar um
pouco mais no assunto.
Um protocolo é então um conjunto de regras e procedimentos a respeitar para
emitir e receber dados numa rede, definindo assim a maneira pela qual as máqui-
nas devem comunicar: a sequência de dados a trocar. E regulam, assim, o
contacto entre o browser e o server.
Os protocolos mais comuns ( e os únicos que vou referir devido ao facto de haver
uma lista infindável deles) são: O TCP/IP, o HTTP, o HTTPS, O FTP e os protocolos
de e-mail (SMTP,POP,IMAP).
4. Começando pelo TCP/IP que é, na verdade, uma sequência de protocolos (á volta
da qual muito dos outros funcionam) composta por dois protocolos: TCP e IP.
Tenho de admitir que não posso falar com muitas certezas visto que a questão
é um pouco complexa. Ainda assim vou explicá-lo como o compreendi e no que
acredito ser o suficiente para, a um nível mais superficial, compreendê-lo.
O TCP (Transmission Control Protocol) e o IP (Internet Protocol) operam
normalmente juntos porque têm funções complementares. Enquanto o TCP
controla a informação o IP direcciona-a.
Vejamos cada um isoladamente: começando pelo IP que é um dos Protocolos mais
“elementares” da web ( no sentido em que quase tudo funciona com base no IP ).
O IP utiliza endereços numéricos (também conhecidos por endereços IP)
compostos por 4 bytes onde os números variam de 0 a 255. É o ICANN (Internet
Corporation for Assigned Names and Numbers) que está encarregado de atribuir
endereços IP públicos, isto é, dos computadores ligados á rede pública de
internet.
O endereço pode dividir-se em duas partes: os números da esquerda
correspondem ao ID de rede e os números da direita ao ID de hóspede.
Cada computador de uma rede possui um IP único nessa mesma rede. Aqui
deparei-me com uma dúvida á qual ainda não sei responder: Apesar de cada
computador ter um IP único, isso quer dizer que os web sites pertencentes a esse
mesmo computador partilham desse IP. Ou seja, nesse caso o IP deixa de ser as-
sim tão único.
Como é feita então, num caso desses, a correspondência entre o IP e o servidor
DNS?
Levanto a questão para que fique claro que, segundo a minha pesquisa, o IP não
é um elemento identificador tão infalível quanto isso.
Enquanto o IP identifica um ou mais computadores, o TCP controla a comunicação
entre eles. E mais uma vez tenho de admitir a minha ignorância relativamente a
este: compreendo que entrega e ordena datagramas, que evita saturação de rede,
que formata dados em segmentos para os poder transmitir de maneira mais
eficaz e que permite o inicio e fim de conexão entre computadores de forma
segura. Como o faz e os conceitos que estão por detrás deste protocolo não
consegui compreender.
Um protocolo mais familiar é o HTTP (Hypertext Transfer Protocol). O http é um pro-
tocolo standard para “transferir” web pages (e o seu conteúdo) através da
internet. Digo “transferir” porque é um download momentâneo que permite
visualizar a página no browser e não permitindo a transferência de dados para o
5. computador local, como é o caso do FTP. Funciona através de pedidos e
respostas HTTP que são conjuntos de linhas enviados pelo servidor ao navegador
ou vice-versa, especificando, através de comandos http, o que pedir ou devolver.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) faz precisamente o
mesmo mas sobre o que em inglês se chama uma Secure Socket Layer.
É normalmente utilizado em páginas que têm conteúdos com uma maior
necessidade de segurança, como é o caso de web sites de bancos ou de
redes sociais.
Para uma página poder utilizar HTTPS como protocolo precisa de ter um
certificado SSL instalado no server, emitido por uma Certificate Authority (CA).
O user pode aceder, clicando no ícone exibido na barra de endereço de uma
página que use HTTPS, a estas informações. Ou seja, pode confirmar a
autenticidade da instituição ou organização e muitos outros dados,
nomeadamente a autoridade que emitiu o certificado de segurança.
O protocolo FTP (File Transfer Protocol) é o protocolo default usado para transferir
ficheiros através da web, sendo o exemplo de uso mais comum um web developer
que queira fazer updates no seu site ou publicar uma nova versão deste.
Ou seja, enquanto o HTTP é usado para mostrar o ficheiro no browser, o FTP é
usado para transferir um ficheiro de um computador para uma localização especí-
fica noutro computador. Pode, portanto, transferir data de um ficheiro local para um
remoto e também no sentido inverso.
E para terminar, falo vagamente dos servidores de e-mail, dos quais também não
sei aprofundar muito. O POP (Post Office Protocol), mais conhecido por POP3 por
já estar na sua 3ª versão, é usado por aplicações mail e também por web mails
para ligar ás mensagens e fazer download destas através do server de email. O
SMTP (Simple Mail Transfer Protocol) complementa, a meu ver, a função do POP,
permitindo enviar e-mails para o server.
O IMAP (Interactive Mail Acess Protocol) diz-se ser mais poderoso mas menos
comum do que o POP3, visto que se apoia no TCP para enviar e-mails. O que,
deduzo eu, facilita a tarefa de moderação de qualidade de transmissão e a torna
mais rápida. Foi a conclusão que tirei depois de conhecer as características do
protocolo TCP.
Penso que não há necessidade de referir outros protocolos sendo que estes são
realmente os mais comuns da Web e que, só o facto de compreender o conceito
de protocolo, ajuda a compreender muito do funcionamento desta.
6. WEBGRAFIA:
Internet e protocolos web (n.d.) in Departamento de Engenharia Electrónica e In-
formática da Universidade do Algarve. Retirado de www.deei.fct.ualg.pt/~flobo/
daw/slides/http.pdf
Navegador (2012, Fevereiro,26) in Wikipedia. Retirado de http://pt.wikipedia.org/
wiki/Navegador
Morandini, M; Pimenta, M. F. ; Cardieri, M. A. C. A. C.; Tomazela, M. G. J. M.; Tor-
res, M. F. C. F. T.; (1998,Abril,29) Tópicos em Engenharia de Computação V
In Department of Computer Engineering and Industrial Automation at the School
of Electrical and Computer Engineering , State University of Campinas. Retirado de
http://www.dca.fee.unicamp.br/courses/IA368F/1s1998/Http/g4.html
Web - Introdução à World Wide Web (n.d.) in kioskea.net. Retirado de http://
pt.kioskea.net/contents/www/www-intro.php3
Protocolos (n.d.) in kioskea.net. Retirado de http://pt.kioskea.net/contents/internet/
protocol.php3
TCP/IP (n.d.) in kioskea.net. Retirado de http://pt.kioskea.net/contents/internet/tc-
pip.php3
O protocolo IP (n.d.) in kioskea.net. Retirado de http://pt.kioskea.net/contents/inter-
net/protip.php3#fragmentation
O protocolo ICMP (n.d.) in kioskea.net. Retirado de http://pt.kioskea.net/contents/
internet/icmp.php3
O protocolo TCP (n.d.) in kioskea.net. Retirado de http://pt.kioskea.net/contents/in-
ternet/tcp.php3
O protocolo UDP (n.d.) in kioskea.net. Retirado de http://pt.kioskea.net/contents/
internet/udp.php3
O protocolo HTTP (n.d.) in kioskea.net.Retirado de http://pt.kioskea.net/contents/
internet/http.php3
7. Internet: Protocolos (n.d.) in teleco.com.br. Retirado de http://www.teleco.com.br/
tutoriais/tutorialinter/pagina_2.asp
Protocolos do HTTP e do HTTPS (n.d.) in Academic Tutorials. Retirado de http://
www.academictutorials.com/Pt/tcp-ip/tcp-ip-http.asp
Web Protocols (n.d.) in Quackit.com. Retirado de http://www.quackit.com/how-web-
sites-work/web-protocols.cfm
Hypertext Transfer Protocol (n.d.) in Wikipedia. Retirado de http://en.wikipedia.org/
wiki/Hypertext_Transfer_Protocol
Martinez, N. (2011,Novembro,01) Common Web Protocols in eHow. Retirado de
http://www.ehow.com/list_6686383_common-protocols.html
Jay, Craig (n.d.) How to Understand Internet Protocol in eHow. Retirado de
http://www.ehow.com/how_5585013_understand-internet-protocol.html
Reed,D (n.d.) in Google. Retirado de http://www.google.com/url?sa=t&rct=j&q=&es
rc=s&source=web&cd=7&cts=1330574758763&sqi=2&ved=0CGgQFjAG&url=http
%3A%2F%2Fwww.dave-reed.com%2Fcsc551.S04%2FLectures%2Fprotocols.ppt&
ei=BvFOT6DRGaGj0QWc1eT8Cw&usg=AFQjCNHlxEn-oEiHondRAL8Vehk7Ef3hxA
Web-based protocol handlers (2011, Setembro,06) in Mozilla Developer Network
https://developer.mozilla.org/en/Web-based_protocol_handlers
List of web service protocols (2012,Janeiro,24) in Wikipedia. Retirado de
http://en.wikipedia.org/wiki/List_of_web_service_protocols
Web service (2012,Fevereiro,29) in Wikipedia. Retirado de
http://en.wikipedia.org/wiki/Web_service
TCP/IP Protocols(n.d.) in w3schools. Retirado de
http://www.w3schools.com/tcpip/tcpip_protocols.asp
Protocolo (ciência da computação) (2012,Fevereiro,28) in Wikipedia. Retirado de
http://pt.wikipedia.org/wiki/Protocolo_%28ci%C3%AAncia_da_
computa%C3%A7%C3%A3o%29