4. LA CONNAISSANCE
4.1 L’intellect comme instrument
Entender as intera¸c˜oes entre um navegador e um servidor Web ´e essencial para compreen- der a fonte e o significado dos dados da sequˆencia de cliques. Como j´a mencionado, o navegador e o site da Web interagem um com o outro atrav´es da Internet utilizando o protocolo de comunica¸c˜ao HTTP.
Quando se navega na Web, muitas coisas est˜ao acontecendo para que uma p´agina requisi- tada seja transferida do servidor para a m´aquina do usu´ario e, finalmente, seja mostrada em seu navegador. Quando se digita, no navegador, um endere¸co de uma p´agina que contenha apenas texto, os seguintes passos, ilustrados na Figura 4.1, s˜ao executados:
1. O navegador procura pelo servidor www.nossosite.com e conecta-se a ele utilizando a porta2
default 80, caso nenhuma outra tenha sido indicada.
1
Uma requisi¸c˜ao HTTP ´e qualquer pedido que o navegador faz para um servidor Web.
2
Uma porta em um servidor ´e a maneira utilizada para se identificar com qual programa deseja-se comunicar. Assim, um servidor Web, normalmente, ´e identificado pela porta 80, um servidor de FTP ´e, normalmente, identificado pela porta 21, e assim por diante.
texto.html http://www.nossosite.com/texto.html 1 GET texto.html 2 3a 3b 4
Navegador Servidor: www.nossosite.com
Páginas HTML
texto.html texto.html texto.html texto.html texto.html texto.html texto.html texto.html texto.html texto.html texto.html texto.html texto.html texto.html
Figura 4.1: Transferˆencia de um arquivo HTML sem figuras atrav´es do protocolo HTTP
2. Uma vez conectado, o navegador envia uma requisi¸c˜ao para o servidor pedindo a p´agina texto.html. A forma pela qual ´e feita essa requisi¸c˜ao segue o protocolo HTTP, mencionado anteriormente.
3. (a) O servidor, de posse do nome do arquivo requisitado, procura-o em seu disco. (b) Uma vez achado, ele envia o conte´udo deste arquivo para o navegador. Deve-se observar que o protocolo HTTP ainda est´a em efeito. Ele define, por exemplo, o que o servidor deve enviar para o navegador caso o arquivo requisitado n˜ao exista em seu disco.
4. Neste momento, o arquivo requisitado j´a foi transferido e seu conte´udo encontra-se na mem´oria do computador do usu´ario. O navegador lˆe esse conte´udo interpretando- o, fecha a conex˜ao com o servidor e mostra o arquivo para o usu´ario. Observa-se que, normalmente, o navegador primeiro interpreta o arquivo para depois fechar a conex˜ao. Isso acontece para que ele aproveite a conex˜ao aberta para mandar outras requisi¸c˜oes caso isso se fa¸ca necess´ario — caso de arquivos HTML que contenham figuras, por exemplo.
Esse cen´ario traduz o funcionamento b´asico da Web. No caso de um arquivo HTML que contenha texto e figuras, o funcionamento ´e basicamente o mesmo, com a diferen¸ca que, ap´os o navegador ter lido e interpretado o arquivo HTML e detectado figuras, ele faz novas requisi¸c˜oes independentes para o servidor, como mostrado na Figura4.2. Uma vez que as figuras foram transferidas, elas podem ser mostradas nos seus devidos lugares, ou seja, no lugar do texto onde o arquivo HTML indicou que haviam figuras.
Resumindo, o protocolo HTTP ´e um protocolo do tipo request/response, ou seja, o nave- gador faz requisi¸c˜oes e o servidor responde a elas. Al´em disso, o HTTP ´e, tamb´em, um protocolo stateless, isto ´e, ele n˜ao guarda nenhum tipo de informa¸c˜ao sobre o estado da conex˜ao entre o navegador e o servidor, de forma que, depois de uma requisi¸c˜ao ser aten- dida, se o mesmo usu´ario fizer outra requisi¸c˜ao o servidor n˜ao se lembrar´a que se trata do
txtfig.html ✁ ✁ ✂✁✂ ✂✁✂ ✄✁✄ ✄✁✄ ✄✁✄ ☎✁☎ ☎✁☎ ☎✁☎ ✆✁✆ ✆✁✆ ✆✁✆ ✝✁✝ ✝✁✝ ✝✁✝ ✞✁✞ ✞✁✞ ✞✁✞ ✞✁✞ ✟✁✟ ✟✁✟ ✟✁✟ ✟✁✟ ✠✁✠ ✠✁✠ ✠✁✠ ✡✁✡ ✡✁✡ ☛✁☛ ☛✁☛ ☛✁☛ ☞✁☞ ☞✁☞ ✌✁✌ ✌✁✌ ✌✁✌ ✌✁✌ ✍✁✍ ✍✁✍ ✍✁✍ ✎✁✎✁✎✁✎ ✎✁✎✁✎✁✎ ✎✁✎✁✎✁✎ ✎✁✎✁✎✁✎ ✎✁✎✁✎✁✎ ✏✁✏✁✏✁✏ ✏✁✏✁✏✁✏ ✏✁✏✁✏✁✏ ✏✁✏✁✏✁✏ ✏✁✏✁✏✁✏ Navegador http://www.nossosite.com/txtfig.html Servidor: www.nossosite.com 1 2 GET txtfig.html Páginas HTML Imagens 3a 3b
txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html txtfig.html 2´ GET fig.jpg 3a´ 3b´ 4´ 4
Figura 4.2: Transferˆencia de um arquivo HTML com figuras atrav´es do protocolo HTTP
mesmo usu´ario, tratando-o como um novo cliente. Em outras palavras, isso significa que o usu´ario n˜ao tem que se identificar para o servidor (por meio de um login, por exemplo) e recupera v´arios documentos por meio de uma s´o sess˜ao (identificada pelo login). Ao contr´ario, ele n˜ao precisa se identificar e deve fazer uma requisi¸c˜ao separada para cada arquivo que deseja recuperar, seja um arquivo de texto, HTML, imagens ou qualquer outro tipo (no caso de downloads, applets Java (Mello, Chiara, and Villela 2002) e outros). Isso n˜ao quer dizer que o HTTP seja um protocolo ruim. Pelo contr´ario, isso faz com que o protocolo seja simples de se entender e de se implementar. O ´unico problema que isso implica est´a no caso de querermos aplicar t´ecnicas de Minera¸c˜ao de Dados no log do servidor, pois informa¸c˜oes muito ´uteis estar˜ao faltando nos dados como, por exemplo, quem ´e o usu´ario que est´a acessando o servidor.
´
E importante notar que a ´unica a¸c˜ao humana consiste em digitar um endere¸co no navegador ou, em outros casos, clicar3
em um link de uma p´agina. Todas as demais a¸c˜oes s˜ao intera¸c˜oes computador-computador desencadeadas pelo processamento do documento que foi recuperado inicialmente (no caso de um documento que tenha figuras ou outros arquivos auxiliares).
4.2.1
Servidores Proxy
Quando um navegador faz uma solicita¸c˜ao HTTP, nem sempre ela ´e satisfeita pelo servidor
Web, mas sim por um servidor proxy. Isso se deve ao fato de que muitos provedores de
Internet utilizam servidores proxy para reduzir o tr´afego na Internet. Esses servidores s˜ao utilizados para armazenar, em cache, os conte´udos freq¨uentemente solicitados. Na Figura 4.3 ´e ilustrado esse caso.
3
Navegador Servidor ISP Internet Resposta Solicitação Servidor proxy Notificação
Interação HTTP com proxy Navegador Servidor ISP Internet Resposta Solicitação
Interação HTTP normal (sem proxy)
Figura 4.3: Funcionamento de um servidor proxy
A utiliza¸c˜ao de um servidor proxy introduz um problema no registro dos acessos no arquivo de log pois, muitas vezes, os servidores proxy n˜ao notificam adequadamente o servidor Web de que a requisi¸c˜ao foi satisfeita por ele. Dessa forma, o servidor Web fica sem saber que um acesso foi feito e essa informa¸c˜ao n˜ao ´e registrada no arquivo de log. Uma poss´ıvel solu¸c˜ao para isso ´e a utiliza¸c˜ao de metatags “n˜ao-proxy” no conte´udo HTML das p´aginas. Mas, neste caso, o servidor proxy perde a sua utilidade.
4.2.2
Caches de Navegador
Os caches do navegador tamb´em introduzem incertezas na tentativa de monitorar todos os eventos que ocorrem durante uma sess˜ao de um usu´ario. A maioria dos navegadores armazena uma c´opia de objetos recuperados recentemente (p´aginas, figuras, etc.) em um
cache local. Assim, em vez de obter o arquivo do servidor, o navegador o recupera do cache e o servidor Web n˜ao fica sabendo disso, n˜ao podendo registrar o acesso.
Isso significa que n˜ao se pode ter certeza de se ter um mapa completo das a¸c˜oes do usu´ario. Na melhor das hip´oteses ´e poss´ıvel fazer uma representa¸c˜ao da sess˜ao por meio de uma ´arvore com cada folha sendo um arquivo transferido e marcado com a data e a hora em que foi solicitado.
Um outro tipo de incerteza surge quando um usu´ario executa v´arios navegadores para acessar um mesmo site. Nesse caso, a informa¸c˜ao da seq¨uencia de acessos perde-se. Para entender o porquˆe isso acontece, basta imaginar dois navegadores abertos mostrando uma
mesma p´agina do site. O usu´ario pode clicar, ent˜ao, em dois links diferentes, um em cada p´agina. Ao se olhar para o log, os dois acessos s˜ao vistos, mas n˜ao se sabe se o usu´ario clicou em um link , voltou para a p´agina original (que seria recuperada do cache do navegador) e, em seguida, clicou no outro link . A situa¸c˜ao tende a piorar porque, provavelmente, o usu´ario continuar´a a fazer acessos atrav´es dos dois navegadores independentes, ou ent˜ao pode abrir novas janelas.
A conclus˜ao disso tudo ´e a de que n˜ao se pode ter certeza de se ter um registro completo de todas as a¸c˜oes do usu´ario. Entretanto, apesar dessas incertezas, ´e poss´ıvel extrair bastante informa¸c˜oes dos arquivos de log de servidores Web (Kimball and Merz 2000). Em (Haight and Megarity 1998) pode ser encontrado um levantamento do que pode e o que n˜ao pode ser extra´ıdo de um arquivo de log.