Você está em: Principal › Artigos › ASP 3.0 › Capítulo 04 : 02
Lição 028 - Capítulo 04 - Entendendo e Utilizando ASP
Quando começamos a utilizar ASP, surgem algumas dúvidas a respeito desta tecnologia. Conhecer os diversos objetos, métodos e comandos é importante, porém igualmente importante é conhecer o funcionamento de uma página ASP. Para isso temos que responder às seguintes perguntas:
Como e onde uma página ASP é processada?
O que uma página ASP retorna para o Navegador do cliente?
O que é preciso para criar e acessar páginas ASP?
Primeiro devemos lembrar que o que caracteriza uma página como sendo uma página ASP é a extensão .asp. Isto significa que nossas páginas devem ter a extensão .asp e não .htm ou .html, normalmente utilizadas para páginas HTML estáticas. Por exemplo, quando o usuário digita um endereço como o seguinte:
http://www.abc.com.br/compras.asp
O servidor identifica a página como sendo uma página ASP, devido a extensão .asp.
Uma vez identificada a página ASP é "processada" pelo Servidor Web (que pode ser o IIS ou o Personal Web Server). O servidor após identificar a página ASP passa a mesma para o uma DLL chamada ASP.DLL. O Código contido nesta DLL analisa toda a página ASP, linha por linha, em busca de linhas de código ASP, o qual é executado. Após executado todo o código existente na página, o resultado, no formato de uma Página HTML simples, é enviado para o Navegador do cliente. Este processo é detalhado na Figura 4.1 e detalhadamente explicado em seguida.
Figura 4.1 O Processamento de uma página ASP.
Abaixo descrevemos, detalhadamente, os passos indicados na Figura 4.1:
1. O usuário digita o endereço ou clica em um link para uma página ASP, como por exemplo www.abc.com.br/catalogo/precos.asp. O pedido do usuário é enviado para o servidor Web, que no nosso exemplo é o IIS – Internet Information Services.
2. O Servidor identifica que o pedido é para uma página que contém código ASP, pois a extensão da página é .asp. No exemplo da Figura 4.1 um dos clientes solicita a página page1.asp e o outro a página page2.asp.
3. Uma vez identificada como uma página ASP, o servidor Web passa o processamento da página para o interpretador ASP (que no caso é a DLL ASP.DLL, o qual normalmente é instalado no diretório winnt\System32\inetsrv, o qual é o diretório de instalação do IIS).
4. O Interpretador passa linha por linha da página ASP. Sempre que for encontrado código ASP, o mesmo é interpretado e executado.
5 Após todo o código ter sido executado, o resultado do processamento é enviado para o Navegador do cliente, no formato de uma página HTML padrão. É importante detalhar bastante este ponto, pois existem muitas confusões e interpretações errôneas a respeito do mesmo. Vamos fazer isso no próximo item.
Com isso podemos responder a pergunta deste item:
R: Uma página ASP é processada no Servidor Web (IIS ou Personal Web Server), pelo interpretador ASP (ASP.DLL). O Interpretador percorre a página, linha por linha, interpretando e executando todo o código existente na página.
Agora vamos detalhar um pouco mais sobre a questão referente ao que a página ASP retorna para o Navegador do cliente.
Quando o usuário digita o endereço ou clica em um link para uma página ASP, por exemplo: www.abc.com.br/page1.asp, a página page1.asp é interpretada e o código ASP executado. Enquanto a página está sendo executada nada é retornado para o cliente (embora possamos ter um certo controle sobre este comportamento, fazendo com que a página seja exibida a medida que a mesma vai sendo interpretada e executada. Aprenderemos a fazer este controle mais adiante).
Após o processamento da página, o resultado é retornado para o Navegador do cliente, sendo que nunca é demais repetir, o que é enviado para o Navegador do cliente é apenas código HTML padrão, resultante do processamento da página ASP. Isso pode facilmente ser comprovado. No Internet Explorer 5.0 ou superior, basta que o usuário selecione o comando Exibir -> Código fonte, no menu de opções, isto ira exibir a código fonte da página que é enviada para o Navegador do cliente. Uma observação atenta é suficiente para verificar que o resultado é apenas código HTML. Vamos exemplificar este fato. Considere a página ASP, extremamente simples, da Listagem 4.1.
Listagem 4.1 – Uma página ASP simples – list4-1.asp
6          <H1>EXEMPLO DE PÁGINA  ASP</H1>
8          Response.Write "Toda página ASP é  interpretada <BR>"
9          Response.Write "e executada no  servidor WEB !!!<BR>"
10        Response.Write "O Resultado que  retorna para o Navegador<BR>"
11        Response.Write "do cliente, é  código HTML padrão."
Ao acessar está página ASP, o servidor Web interpreta e executa todo o código existente. No nosso exemplo, o código ASP inicia na linha 7 e termina na linha 12. Relembrando o que vimos no Capítulo 1: Toda seção de código ASP inicia com <% e termina com %>.
O resultado gerado pela página ASP, é código HTML padrão, o qual é enviado para o Navegador do cliente. A Figura 4.2, mostra a página list4-1.asp sendo acessada no Internet Explorer.
Figura 4.2 Acessando a página list4-1.asp.
Se escolhermos o comando Exibir -> Código fonte, veremos o resultado indicado na Figura 4.3, o que nada mais é do que código HTML. Isto comprova o que foi descrito neste item.
Figura 4.3 Código HTML resultante do processamento da página ASP.
Apenas para clarear,vamos ver qual o código ASP que gerou a seguinte linha de código HTML:
Toda página ASP é interpretada <BR>
Esta linha de código HTML é resultado da execução da seguinte linha de código ASP:
Response.Write  "Toda página ASP é interpretada <BR>"
Ao executar esta linha de código ASP, o interpretador encontra o comando Response.Write. O interpretador sabe que é para enviar para o navegador do cliente, tudo o que estiver entre aspas, pois o comando Response.Write (seria melhor dizer: "O método Write do objeto Response", mas falaremos mais sobre objetos e seus métodos durante todo este capítulo) foi criado justamente para isto, para enviar um determinado texto para o Navegador do cliente. Neste exemplo, simplesmente estamos utilizando o comando Response.Write para enviar o código HTML para o cliente. A tag <BR> é a utilizada para quebra de linha: BR – Break Row.
Outro detalhe interessante a ser observado, é que temos código HTML fora da seção de código ASP. Na listagem 4.1, a linha 6: <H1>EXEMPLO DE PÁGINA ASP</H1>, é código HTML. Neste caso estamos utilizando a tag <H1> para criar o cabeçalho do documento, conforme indicado na Figura 4.2. Este código HTML que não é gerado por comandos ASP, é enviado diretamente para o Navegador do cliente, quando a página ASP é acessada.
Veja que a possibilidade de alternar trechos de código HTML, com trechos de código ASP, dentro de uma mesma página ASP, nos dá uma grande flexibilidade. As partes da página que não apresentam natureza dinâmica, podem ser criadas simplesmente utilizando código HTML. Outras partes que necessitam ser dinamicamente criadas, quer seja através da realização de cálculos ou através do acesso a campos de uma tabela de um Banco de dados, podem ser criadas utilizando código ASP. Além disso podemos ter várias seções de código ASP dentro de uma mesma página. Para iniciar uma seção utilizo <% e para finalizar a seção utilizo %> Posso colocar código HTML entre as diversas seções de código ASP. Com isso vou criando a página utilizando HTML nos pontos estáticos e ASP nos pontos que precisam ser criados dinamicamente.
Uma página ASP é gravada no servidor, no formato de um arquivo de texto comum, no qual colocamos código HTML e código ASP, conforme descrito anteriormente. Por isso, posso utilizar um redator de texto, como por exemplo o Bloco de Notas, para criação de páginas ASP. Uma vez criado o arquivo .asp, basta salvá-lo em uma pasta no servidor Web e pronto, o mesmo está pronto para ser acessado pelo Navegador do cliente.
Também existem ferramentas gráficas que facilitam a criação de aplicações para a Web, utilizando a tecnologia ASP. Um ferramenta, desenvolvida pela própria Microsoft, é o Microsoft Visual Interdev, o qual está, atualmente, na sua versão 6.0.
Como descrito anteriormente, uma página ASP é interpretada e executada no servidor Web. Como servidor Web devemos utilizar o IIS – Internet Information Services 5.0 (o qual faz parte do Windows 2000 Server), ou o Personal Web Server, para Windows 95 ou Windows 98. Não existe, por exemplo, um interpretador ASP para o servidor Web Apache, ou para o Domino da Lotus. Para maiores informações sobre os servidores Web que suportam ASP, consulte a Introdução deste livro.
Podemos acessar páginas ASP, utilizando qualquer Navegador disponível (Internet Explorer, Netscape Navigator, Mosaic, etc). Isto é possível pelo fato de que uma página ASP é interpretada e executada no Servidor Web, retornando apenas código HTML padrão. Qualquer Navegador é capaz de exibir o conteúdo do código HTML de retorno. Com isso a utilização de páginas ASP independe do Navegador do cliente, o que passa a ser uma preocupação a menos para quem desenvolve as páginas.
O fato de uma página ASP ser interpretada e executada no servidor Web, traz inúmeras vantagens, conforme já descrevemos, porém traz a desvantagem da página não poder ser testada localmente. Isto significa que você não pode simplesmente gravar uma página ASP em uma pasta do seu computador e tentar acessá-la através do seu Navegador. Fazendo isso, todo o código ASP será, simplesmente ignorado. Para que uma página ASP seja processada corretamente, a mesma precisa estar armazenada em um servidor como o IIS, onde existe o interpretador ASP. A página deve ser acessada utilizando-se o protocolo http, isto é, ou você digita o endereço da página, como por exemplo: http://www.abc.com.br/page1.asp, o clica em um link que aponta para a página ASP gravada no servidor Web.
Uma das novidades da tecnologia ASP 3.0, é que podemos ter páginas com a extensão .asp, sem que as mesmas contenham código ASP. Por exemplo, posso ter uma página .asp que contém apenas código HTML. Quando esta página é solicitada, o servidor Web passa a solicitação para o Interpretador ASP (ASP.DLL). A primeira coisa que o interpretador faz é verificar se existe algum código a ser interpretado e executado. Caso não exista código ASP, a página é enviada de volta para o IIS, o qual retorna a página para o Navegador do cliente. Com este procedimento o Interpretador não precisa passar a página, linha por linha. Isto torna a execução das páginas bem mais rápida.Caso a página possua código ASP, o código é interpretado e executado, e o resultado do processamento é retornado para o IIS, o qual insere o código HTML retornado pela processador ASP, nos pontos específicos da página, enviando, depois, o página resultante, no formato HTML, para o Navegador do cliente. Com isso posso criar todas as páginas com a extensão .asp, mesmo aquelas que não irão conter código ASP. Caso sejam necessárias mudanças nas páginas, posso inserir o código ASP, sem que com isso precise alterar os links do site, pois as extensões das páginas não precisarão ser alteradas, o que aconteceria se tivéssemos criado as páginas como .htm e depois trocado a extensão para .asp quando fosse necessário inserir código ASP nas páginas.