Escolar Documentos
Profissional Documentos
Cultura Documentos
Pós-Graduação a Distância
Plataforma de Desenvolvimento Web
CAMPINAS (POLO)
2018
DO HTML1.0 AO HTML 5.0: AS TECNOLOGIAS DA CAMADA
DE APLICAÇÃO QUE TRANSFORMARAM A
INTERATIVIDADE NA WEB
1. INTRODUÇÃO
Este artigo objetiva descrever como a evolução das tecnologias da camada de aplicação e
as mudanças na linguagem HTML, desde a sua origem até o atual padrão HTML 5.0,
possibilitaram as transformações na aplicações existentes na web, inicialmente em páginas
estáticas para aplicações em tempo real.
Numa aplicação em rede, como a web, os serviços providos pela camada de aplicação por
meio de seus protocolos estabelecem a maneira como uma aplicação cliente e o servidor trocam
informações.
As características destes serviços providos pela camada de aplicação estabelecem um
contorno das possibilidades das aplicações ou das dificuldades a serem superadas pelas
aplicações (KUROSE; ROSS, 2010, p. 71).
Assim, estas características interferem no modo como os usuários interagem com as
aplicações existentes na Rede Mundial de Computadores (em inglês: World Wide Web -
acrônimo www), também conhecida pelo termo em inglês web.
Na web, tudo o que um usuário percebe são páginas construídas na linguagem HTML, e
está também é impactada pela evolução da tecnologia da camada de aplicação (WAINER, 2011).
E por outro lado, as novas aplicações que demandam interações mais ricas com os
usuários estimulam atualizações na linguagem HTML (SYNODINOS, 2008) e por sua vez deve
ser suportada por uma nova evolução na tecnologia da camada de aplicação.
Estas mudanças, tanto na linguagem HTML quanto na tecnologia da camada de
aplicação, não são transparentes para os desenvolvedores de aplicações web que necessitam
assimilá-las.
Dentro deste contexto, da relação de interdependência da tecnologia da camada de
aplicação e a linguagem HTML e da imposição que os desenvolvedores de aplicações web
acompanhem este movimento exprime a importância e a relevância deste tema.
É importante explicitar que o ponto central deste artigo é na perspectiva das mudanças
que ocorreram desde os primórdios da web nas tecnologias de comunicação, protocolos da
camada de aplicação, entre um cliente web e um servidor web e sua relação com a linguagem
HTML, uma vez que um usuário quando utiliza um correio eletrônico como exemplo, por meio
de um cliente web (navegador) estão envolvidas outras tecnologias que lidam com segurança, a
estruturação das informações trocadas, armazenamento e processamento das informações,
distribuição das informações, velocidade das informações entre outras que sem dúvida também
tiverem uma evolução, mas não são escopo deste artigo.
Este artigo é resultado de uma revisão bibliográfica e está organizado da seguinte forma.
Inicialmente será apresentado como surgiu a web em 1991, suas características iniciais e alguns
trabalhos que a influenciaram. Em seguida é apresentado os avanços e adaptações surgidas
durante o período que ficou conhecido como Web 2.0 e as tecnologias COMET (push, pooling e
stremming). E por último é apresentado o protocolo WebSocket no HTML 5.0 e suas vantagens
no desenvolvimento de aplicações em tempo real.
2. DESENVOLVIMENTO
Mensagem de requisição
HTTP (request)
Mensagem de resposta
HTTP (response)
Conforme pode ser observado o protocolo HTTP não guarda o estado da conexão, a cada
novo recurso solicitado pelo cliente web uma novo ciclo conexão-requisição-resposta é realizado
e fecha conexão, assim o HTTP é caracterizado com a palavra stateless que indica sem estado,
ou seja, não guarda informação sobre as conexões realizadas e os dados enviados. Outra
características importante para este estudo é que o protocolo de comunicação HTTP é half-
duplex, que indica que o servidor nunca comunica com o cliente, ele sempre responde a uma
requisição ao cliente em resposta ao cliente. O servidor somente responde.
Protocolo half-duplex somente um lado é ativo o outro é passivo, onde apenas um lado
comunica e o outro responde.
Como aponta Furukawa (2011), as aplicações baseadas na web têm muitas vantagens
sobre aplicações customizadas desenvolvidas nativamente sobre os sistemas operacionais que
são: 1) independência de plataforma - sistemas web rodam em qualquer sistema operacional
necessitando apenas de um navegador; 2) fácil de desenvolver - existem muitas ferramentas de
desenvolvimento de aplicações web; 3) e fácil de distribuir a versão mais recente - para
atualização de uma aplicação web basta substituir a última versão no servidor de web uma vez
que a aplicação é carregada do servidor web antes de ser executada.
Com base nessas vantagens a web desenvolveu-se e novas aplicações foram surgindo.
Aplicações que inicialmente eram baseada em conteúdo estático foram dando lugares a
aplicações com conteúdo dinâmico onde a cada nova requisição o conteúdo é dinamicamente
gerado. Estas aplicações são geradas a partir do servidor web que criam novos conteúdos a partir
de conexões com outros sistemas como os banco de dados. Aplicações como sistemas de vendas,
acompanhamento de vendas de ações, bancos eletrônico entre outras ganham a web que entra em
nova fase.
Portanto para obter um dado atualizado o usuário deve realizar uma atualização manual
da página. Isto não é obviamente considerado uma solução.
Para resolver este problema de fornecer aplicativos na web em tempo real vários
mecanismos de envio de dados pelo lado do servidor foram elaborados. Comumente referenciado
na literatura como COMET, conceito criado por Russell (2006) que engloba várias tecnologias
tais como “polling”, “long polling”, “http server push”, “Ajax push”, “reverse Ajax”, “two-way-
web”, “HTTP streaming” entre outras tecnologias, todas com o propósito de permitir que o
servidor envie informações atualizadas sem uma requisição explícita do lado cliente web.
Assim a partir de 2005, COMET é a base de várias técnicas da web que passa a ser
denominada pela expressão Web 2.0 (O’REILLY, 2005), representada por aplicações em tempo
real e uma interface de aplicação com o usuário rica em recurso, exemplos de aplicações que
descrevem esta nova fase da web são blogs e chats, mídias sociais colaborativas e redes sociais.
COMET é provido por programação que mantém a conexão HTTP aberta por um tempo
indefinido depois do envio da resposta, permitindo que o servidor reuse esta conexão para enviar
informações adicionais ao navegador (SYNODINOS, 2008). COMET não é bidirecional, e não
permite o envio de dados binários. Mas tem a vantagem de funcionar com navegadores e
servidores web baseados no tradicional protocolo HTTP e na linguagem HTML 4.0 (W3C,
1998).
Este mecanismo funciona bem mas tem algumas ressalvas como observado por
(FURUKAWA, 2011).
No entanto, esta tecnica exige que uma sessão de comunicação HTTP seja iniciada para
cada solicitação. É um esforço no servidor Comet e é impossível enviar informações
sobre eventos de clientes para o servidor Comet. Isso significa que é difícil realizar uma
aplicação de controle "verdadeira" usando o Comet.
Em última análise, todos essas técnicas para fornecer dados em tempo real envolvem
cabeçalhos de solicitação HTTP e resposta, que contém muitos dados de cabeçalho adicionais e
desnecessários e introduzem latência na rede e é de difícil programação.
Como parte do padrão HTML5 (W3C, 2014) um novo recurso foi proposto, o protocolo
WebSocket (IETF, 2011), com a finalidade de oferecer verdadeira capacidade de comunicação
full-duplex para aplicações baseada na web. O protocolo WebSocket é independente da
padronização HTML5. No entanto, HTML 5 utiliza a especificação da API WebSocket (W3C,
2012) para habilitar aplicativos web manterem as comunicações bidirecionais com os processos
do lado do servidor.
WebSocket ser full-duplex significa que um cliente e um servidor podem enviar
mensagens independentes um dos outros. O conceito de bidirecional significa que um cliente
pode enviar uma mensagem para um servidor e vice versa. O protocolo WebSocket fornece um
protocolo de comunicação full-duplex e bidirecional através um uma única conexão TCP.
Como definido na especificação do protocolo WebSocket (IETF,2011):
O objetivo é oferecer suporte a mensagens textuais e binárias, bi-direcionais, entre o
navegador e o servidor web, padronizado pela RFC6455. O novo padrão permite a
criação de aplicações full-duplex, por exemplo chat e vídeo-conferência, sem onerar o
navegador com lógica de pooling e reusando a mesma conexão HTTP, o que também
economiza recursos no servidor. Outra vantagem do WebSocket é não necessitar abrir
portas adicionais no firewall. O WebSocket também permite trafegar mensagens
assíncronas enviadas pelo servidor (push) ou pelo cliente (poll) simplificando
aplicações que demandam atualizações em “tempo real”.
3. CONSIDERAÇÕES FINAIS
Conforme mostrado neste artigo, os aplicativos web podem ser construídos usando o
protocolo WebSocket e o padrão HTML5, já suportado pela maioria dos navegadores atuais. O
protocolo Websocket é a mais moderna tecnologia de comunicação e superior ao protocolo
HTTP origninalmente proposto para web. É importante enfatizar que agora não são necessários
complementos para executar aplicativos WebSocket, apenas um navegador da Web baseado em
HTML5.
Outra vantagem descrita é a simplicidade de se desenvoler aplicativos web com
WebSocket por meio de programação javaScript utilizando a API WebSocket e com isto
possibilita que os desenvolvedores podem criar aplicativos ricos em intereção e em tempo real
antes restrito as grande empresas de software como Google com seus aplicativos gmail e google
maps e Facebook.
REFERÊNCIAS
BERNERS-LEE T.J. Sir Timothy Berners-Lee OM, KBE, FRS, FREng, FRSA Longer
Biography. Disponível em: <https://www.w3.org/People/Berners-Lee/Longer.html>. Acessado
em: 19 mai. 2018.
BERNERS-LEE T.J., et al. The World Wide Web. Communications of the ACM, Volume 37
Issue 8, August 1994, p. 76-82. Disponível em:
<https://dl.acm.org/citation.cfm?doid=179606.179671>. Acessado em: 19 mai. 2018.
NELSON, T. H. Getting it out of our System Information Retriviel: A Critical Review. G.
Schecher(ed). Thompson Books. 1967.
BUSH, Vannevar. As We May Think. The Atlantic Monthly. July,1945 p. 101-108. Disponível
em: <https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/>.
Acessado em: 19 mai. 2018.
INTERNET ENGINEERING TASK FORCE (IETF). Hypertext Transfer Protocol – HTTP 1.0.
Maio 1996. Disponível em: < http://www.ietf.org/rfc/rfc1945.txt>. Acessado em: 20 mai. 2018.
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma nova abordagem top-
down. 5. ed. São Paulo: Addison Wesley, 2010.
O’REILLY, Tim. What is Web 2.0: design patterns and business models for the next generation
of software. Disponível em:
<http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html.> Acessado
em: 19 mai. 2018.
RUSSELL, Alex. Comet: Low Latency Data for the Browser by Alex Russell. Disponível em:
<http://infrequently.org/2006/03/comet-low-latency-data-forthe-browser/>. Acessado em: 20
mai. 2018.
SYNODINOS, D. HTML 5 Web Sockets vs. Comet and Ajax. InfoQ.com dez. 2008. Disponível
em <https://www.infoq.com/news/2008/12/websockets-vs-comet-ajax>. Acessado em: 19 mai.
2018.
WAINER, P. HTML5 in the browser: HTML5 data communications. InfoWord.com, fev. 2011.
Disponível em: <https://www.infoworld.com/article/2623204/html5/html5-in-the-browser--
html5-data-communications.html>. Acessado em: 23 mai. 2018.
WORLD WIDE WEB CONSORTIUM (W3C). HTML 4.0 - Hypertext Markup Language
specifications: W3C Recommendation 24 April 1998. Disponível em:
<https://www.w3.org/TR/1998/REC-html40-19980424/>. Acessado em: 23 mai. 2018.
______. The WebSocket API: W3C Candidate Recommendation 20 September 2012. Disponível
em: <https://www.w3.org/TR/websockets/>. Acessado em: 20 mai. 2018.