Você está na página 1de 7

Helder da Rocha

Criao de

Web Sites II
Servidor Web Aplicaes Web Programas CGI e SSI

Rev.: CWS2-04-2000/01 A4

Copyright 2000 por Helder Lima Santos da Rocha. Todos os direitos reservados. Os direitos do autor sobre esta obra esto protegidos pela Lei 9.610/98 (Lei de Direitos Autorais). Nenhuma parte desta publicao poder ser reproduzida ou utilizada em outros cursos sem a autorizao, por escrito, do autor. Alunos, professores ou funcionrios de instituies educacionais ou filantrpicas podem requerer autorizao gratuita para a reproduo deste material para uso prprio, ou para uso em treinamentos sem fins lucrativos. O autor pode ser contatado atravs dos endereos eletrnicos hlsr@uol.com.br ou helder@ibpinet.net. Este livro faz parte da srie Criao de Web Sites de propriedade de Helder Lima Santos da Rocha. Esta edio destina-se exclusivamente ao uso como material didtico do curso Formao WebDesigner, da IBPI Software e Servios Ltda. e no pode ser vendida separadamente nem utilizada como material didtico de outros cursos. Embora todos os cuidados tenham sido tomados na preparao deste livro, o autor no assume responsabilidade por erros e omisses, ou por quaisquer danos resultantes do uso das informaes nele contidas. Web Site: http://www.ibpinet.net/helder/wd/cws2/ Capa, editorao eletrnica e reviso: o autor. Cdigo desta edio: CWS2-03-2000/01 (Primeira edio) Formato: A4 livro (numerao contnua). Responsvel por esta tiragem: IBPINET So Paulo Tiragem desta edio: 80 cpias (juntamente com a edio 0 para a IBPINET). R672c2 Rocha, Helder Lima Santos da, 1968-

Criao de Web sites II tecnologias de cliente/servidor. 1a. edio com tiragem limitada e autorizada apenas para cursos da IBPINET realizados at 31/12/2000. 190 p. A4. Acompanha disquete ou CD de 3 ou Web site com cdigo e exemplos. Reproduo: IBPINET So Paulo, SP, Abril de 2000. 1. Internet (rede de computadores, meio de comunicao) Programao. 2. Hypertext Transfer Protocol HTTP (Protocolo de comunicaes da Web). 3. CGI Common Gateway Interface (Mecanismo de integrao para execuo de aplicaes remotas). I. Ttulo: Criao de Web Sites II Tecnologias cliente/servidor. II. Srie. CDD 004.678 Quaisquer marcas registradas citadas nesta obra pertencem aos seus respectivos proprietrios.

ii

Contedo

Prefcio Parte 1: Servidor e Plataforma Web


1. 2. 3. 4. 5. Princpios de informtica para a Web Sistemas operacionais da plataforma Web Servidor Web Aplicaes Web Instalao do Servio de Aplicaes

Parte 2: Formulrios, HTTP e CGI


6. Formulrios 7. Formulrios e CGI 8. Princpios de HTTP 9. Uso de programas CGI

Parte 3: SSI, Cookies e Programao


10. Server-side includes 11. Cookies 12. Princpios de programao

Apndice A Linguagem Perl


Introduo 1. Sintaxe bsica 2. Entrada e sada 3. Expresses regulares 4. Subrotinas e bibliotecas 5. Transformao de dados

iii

6. Mdulos 7. Referncias

Apndice B Bibliografia

iv

Prefcio

Este livro contm textos selecionados especialmente para o curso Criao de Web Sites II com a finalidade de servir de apoio ao curso como fonte de informaes tericas e exerccios. Ele no a nica fonte de informaes do curso (o instrutor poder indicar outras) nem seu contedo necessariamente faz parte do curso (h material que poder ou no ser usado, a critrio do instrutor). O curso Criao de Web Sites I o segundo da srie de trs cursos, de igual durao, que exploram a maior parte das tecnologias essenciais e de domnio pblico para criar Web sites interativos. Enquanto no ltimo curso foram desenvolvidas pginas visveis localmente no browser a aplicao cliente da plataforma Web, neste curso sero explorados os mltiplos papis do servidor, principalmente aquele que permite o desenvolvimento de aplicaes Web. O objetivo deste curso, portanto, familiarizar o aluno com o servidor Web e ensin-lo a desenvolver pginas Web interativas que funcionem como aplicaes cliente-servidor. Ser abordado o funcionamento do servidor Apache (o mais utilizado no mundo) ou do servidor PWS/IIS (o mais popular em plataformas Windows). Sero apresentados o protocolo HTTP (essencial nas comunicaes da Web) e a interface CGI (usada para permitir a execuo de programas remotos). Para entender como funciona CGI, o aluno ter que desenvolver formulrios em HTML e utilizar programas simples disponveis na Internet. No final do curso o aluno ter tambm uma pequena introduo programao (com a linguagem Perl, possivelmente), que tambm o preparar para o curso seguinte. Sero mostrados programas simples em Perl (o aluno no precisa saber Perl) para expor os princpios do CGI (que podem depois ser aplicados pelo aluno para desenvolver CGI em outras linguagens como C, C++, VB ou Delphi se desejarem). Sero tambm discutidos os problemas do CGI, com demonstrao de exemplos em tecnologias alternativas como servlets, JSP e ASP.

O que voc j deve saber


Para ter o melhor rendimento neste curso, voc dever: saber HTML estar familiarizado com tecnologias Web (como CSS), com o browser, com URLs e com a maneira como o servidor mantm as pginas (em diretrios virtuais). Esses assuntos fazem parte de um curso como "Criao de Web Sites I" ou equivalente.

O laboratrio onde este curso ser ministrado em geral s contm um tipo de computador (PC, Mac ou Linux consulte a coordenao do curso para saber qual). Usurios de outros sistemas devero revisar as tarefas bsicas do sistema disponvel no laboratrio antes de iniciar o curso de forma a obter o melhor rendimento em sala de aula. No Web site dedicado a este curso (veja pgina de copyright) h links para material adicional de referncia, aplicativos (para Linux, Macintosh e Windows) usados em sala de aula e alternativas, programa do curso (datas) e outras informaes.

Descrio do contedo
Esta apostila consiste de quatro partes, uma das quais um apndice opcional contendo assunto que no ser abordado em sala de aula (serve para quem quiser se aprofundar). A primeira parte apresenta os conceitos fundamentais para compreender o funcionamento da plataforma Web local onde iro executar as aplicaes estudadas neste curso. Mostra como instalar e configurar um servidor Web para publicar pginas e instalar aplicaes. A segunda parte volta a apresentar HTML, mas apenas o HTML, deixado de fora do ltimo mdulo, necessrio para a criao de interfaces de formulrios. Mostra tambm como construir aplicaes CGI e como liglas aos formulrios. H tambm um captulo sobre o protocolo HTTP. A terceira parte apresenta mais duas tecnologias interativas: Server Side Includes (SSI) e Cookies. H exemplos disponveis mas para tirar o melhor proveito de uma tecnologia como Cookies, importante saber programar. O ltimo captulo, portanto, apresenta as noes bsicas de linguagens de programao. Esse captulo essencial no s para se compreender programas em Perl, mas como requisito prvio ao curso seguinte, centralizado na linguagem JavaScript. A quarta e ltima parte contm um tutorial sobre a linguagem Perl. Para os que j sabem programar, o tutorial apresenta a sintaxe bsica e vrios exemplos de cdigo que podem ser testados. Perl pode ser usada como linguagem para desenvolver aplicaes CGI. Esta apostila no contm tudo sobre aplicaes Web. Ela no mostra como escrever aplicaes Web na maior parte das tecnologias existentes (so muitas) como ASP, JSP, servlets, PHP, e outras. Tais tecnologias exigem conhecimento no s de programao (o que no o objetivo principal deste treinamento) como conhecimento razovel do servidor Web (o que se aprende no curso, com CGI). Para ir alm, procure as fontes de informao que sero publicadas no site do curso ou consulte o seu instrutor sobre endereos na Web onde se pode encontrar maiores informaes. Aplicaes nessas tecnologias podero ser demonstradas durante o curso.

Programa do curso
O programa do curso cobre a maior parte dos assuntos discutidos nesta apostila, mas no todos. Alguns assuntos so temas de outros cursos e esto na apostila apenas para servir de referncia (por exemplo, o apndice sobre Perl e certos tpicos sobre cookies e aplicaes CGI). O programa abaixo no esttico. A ordem e profundidade dos assuntos abordados em sala podero ser modificadas pelo instrutor, visando o melhor aprendizado e o cumprimento dos objetivos do treinamento. 1. INTRODUO AO SERVIDOR WEB E HTTP (PARTE 1): como instalar, configurar e usar um servidor Web no Unix e no Windows. Tpicos: Princpios de informtica para a Web, Sistemas operacionais da plataforma Web, Linha de Comando do Windows (MS-DOS), Unix Shell (Linha de Comando no Linux), Servidor Web, O que um servidor Web, Configurao, Instalao e configurao bsica do Apache e PWS, Aplicaes Web, Instalao do Servio de Aplicaes, Programas CGI, Implantao do CGI, Alternativas ao CGI, Exerccios e testes. HTML PARA FORMULRIOS (PARTE 2): construo da interface do usurio. Tpicos: Construo de formulrios com HTML. Como os dados so enviados para o servidor. Elemento <FORM>, <INPUT>, Botes (TYPE=BUTTON, SUBMIT, RESET ou IMAGE), Campos de texto de uma linha (TYPE=TEXT ou PASSWORD), Campos ocultos (TYPE=HIDDEN), Chaves booleanas do tipo "boto de rdio" (TYPE=RADIO), Elemento <LABEL>, Chaves booleanas tipo "caixas de checagem" (TYPE=CHECKBOX), Upload de arquivos (TYPE=FILE), Elemento <TEXTAREA>, Elementos <SELECT> e <OPTION>, Grupos de opes: elemento <OPTGROUP>, Subgrupos de componentes <FIELDSET> e <LEGEND>, Botes HTML 4.0 <BUTTON>. Testes e exerccios. FORMULRIOS E CGI (PARTE 2): interligando formulrios HTML com aplicaes CGI. Tpicos: Variveis de Ambiente, Princpios de HTTP, Uso de programas CGI, Onde conseguir programas CGI,

2.

3.

vi

Como configurar e instalar os programas, Como criar programas CGI simples. Tpicos adicionais (material anexo): Interligando formulrios com aplicaes alternativas a CGI: ASP, JSP, ISAPI ou servlets. Demonstrao de aplicao de acesso a banco de dados Access usando CGI e ASP ou JSP e servlets Java. Discusso sobre vantagens/desvantagens. Testes e exerccios. 4. SERVER-SIDE INCLUDES, COOKIES E PROGRAMAO (PARTE 3): como usar server-side includes para incluir texto em pginas geradas on-the-fly pelo servidor. Como usar cookies para manter o estado entre pginas. Como programar. Tpicos: Server-side includes, Como habilitar SSI no servidor, Criao de cookies, Recuperao de cookies, Princpios de programao, Tipos de linguagens, Componentes de um programa, Como escrever um programa. Testes. APNDICE: LINGUAGEM PERL: (opcional). Para demonstraes desta seo parte pode-se usar o ActiveState ActivePerl no Windows e/ou o Perl 5 do Linux via Telnet). Observao: o objetivo deste curso no ensinar Perl ou qualquer linguagem de programao em profundidade. A finalidade permitir que o aluno entenda o funcionamento do CGI e para isto, preciso usar uma linguagem (que no precisa ser Perl). Perl foi adotada para demonstrar CGI porque a linguagem mais popular usada com CGI e possvel utiliz-la para fazer programas simples sem precisar conhec-la totalmente. Este mdulo est disponvel para que alunos interessados possam se aprofundar um pouco em Perl, se desejarem.

5.

Testes, exerccios e projetos podero ser propostos para a realizao fora do horrio de aula. Reserve pelo menos algumas horas por semana para dedicar-se a eles. Exerccios adicionais, alm de testes e projetos para avaliao (obrigatrios em alguns cursos), estaro disponveis no Web site dedicado ao curso (veja pgina de copyright).

Mdia eletrnica e atualizaes


Todos os exemplos, exerccios resolvidos e solues de alguns exerccios propostos esto ou distribudos em um disquete ou CD que acompanha este livro ou disponveis na Internet. O curso tambm requer uma infraestrutura que dever ser instalada em sala de aula e que voc poder querer instalar em casa ou no trabalho. Os programas necessrios (para Windows, Macintosh e Unix) esto no site deste curso (link para a empresa que distribui o produto). Veja na pgina de copyright (logo aps a capa desta apostila) qual o endereo na Internet onde os arquivos deste curso se encontram disponveis para download.

Crticas e sugestes
Os textos contidos nesta edio esto sempre sendo revisados, atualizados e ampliados periodicamente e cada vez que so utilizados em cursos. Cuidados foram tomados para garantir a apresentao dos assuntos de forma clara, didtica e precisa, mas eventualmente podem escapar erros, imprecises e trechos de pouca clareza. Sugestes, crticas e correes so sempre bem vindas e podem ser enviadas por e-mail a hlsr@uol.com.br ou helder@ibpinet.net. Sua opinio muito importante e contribuir para que futuras edies possam ser cada vez melhores.

Helder L. S. da Rocha So Paulo, 1o. de abril de 2000.

vii