BUSCA

Links Patrocinados



Buscar por Título
   A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z


Servidores Web Dinâmicos
()

Publicidade
Servidores web dinâmicos são os softwares servidores HTTP capazes de gerar uma página HTML dinamicamente. As páginas do site são definidas como códigos executáveis, não mais puramente como HTML. Estes códigos são executados na hora que a página web é solicitada, gerando assim a página dinamicamente. Falaremos sobre três técnicas para gerar conteúdo HTML dinâmico: o CGI, as APIs de Servidor e as Páginas HTML Dinâmicas.

CGI - Common Gateway Interface

No CGI, cada solicitação HTTP gera um processo-filho do servidor web no sistema operacional. Este processo-filho então executa um programa externo, que é determinado conforme a solicitação HTTP. Ester programa gera então a saída apropriada, por exemplo, montando uma tabela HTML listando informações de um banco de dados. O servidor web recebe então essa saída e repassa ao usuário o conteúdo HTML gerado dinamicamente pelo programa CGI. Após isso o processo-filho iniciado para responder a solicitação morre.

CGI foi uma das primeiras técnicas a surgir e hoje em dia ainda é usado por alguns sites. Tem como vantagem o fato de poder ser usada qualquer linguagem de programação para escrever o programa CGI, além de ser simples de usar. No entanto, possui problemas de desempenho, pois cada requisição HTTP gera um novo processo no sistema operacional, e de redundância, pois os processos repetem operações que poderiam ser compartilhadas entre as requisições HTTP, como por exemplo uma conexão com o banco de dados.

APIs de Servidor

Nesta técnica, o servidor web carrega um módulo (arquivos .dll no Windows e .so no Linux), que ficará responsável por atender certas requisições HTTP para ele direcionadas. Cada solicitação ao módulo é uma simples chamada de função, não gerando assim novos processos como no CGI. A função gera o conteúdo dinâmico que então é retornado ao usuário, tudo no mesmo processo.

As APIs de servidor surgiram contornando os problemas da CGI, pois cada solicitação HTTP corresponde à execução de código nativo, no mesmo processo do servidor web. Além disso não há redundância como no CGI, pois estando tudo no mesmo processo, existe um espaço de memória que o servidor web disponibiliza, para os módulos guardarem estados e informações compartilhadas entre requisições. Desse modo é evitada a repetição de processamentos custosos, como por exemplo uma consulta complexa ao banco de dados, cujo resultado agora pode ser armazenado em cache e compartilhado entre requisições.

No entanto as desvantagens de usar esta técnica estão no fato de ser necessário usar linguagens de baixo nível, como C/C++, para programar os módulos, tornando complexo o processo de extensão do servidor web. Além disso é perigosa, pois um erro de programação num módulo pode afetar todo o servidor, podendo até derrubá-lo.

As APIs de servidor também não são compartilháveis entre servidores, pois cada servidor web possui sua própria API. Um site dinâmico programado com a API do servidor Apache não vai rodar no IIS por exemplo. Em geral, para cada servidor web a ser usado é necessário aprender uma nova API de servidor.

Páginas HTML Dinâmicas

A técnica de páginas HTML dinâmicas são mais recentes, sendo amplamente utilizadas hoje em dia . Nela, a requisição HTTP é delegada a um módulo do servidor web, que em vez de servir diretamente a requisição como na API de servidor, delega esta tarefa a uma página HTML dinâmica, ou página de servidor. Os módulos agora são apenas processadores de scripts, e as diretrizes de como o conteúdo dinâmico deve ser gerado ficam agora em páginas HTML dinâmicas, ou seja, páginas HTML com scripts embutidos, que são executados pelo módulo para gerar a resposta HTTP ao usuário.

As páginas dinâmicas em geral usam linguagens de srcipt, que são mais simples e menos perigosas, além de não gerarem novos processos no sistema. No entanto não são tão velozes quanto a API de servidor, além de serem algumas vezes presas a servidores específicos, comoé o caso da ASP da Microsoft (como exceção podemoscitar o PHP, que rodaem muitos servidores web).

As páginas dinâmicas também têm o problema de incentivar uma má prática de programação que é embutir a lógica de funcionamento do script com o layout da página. Na API de servidor e no CGI podem ser definidos templates para definir o layout das páginas, mas usando páginas dinâmicas isso fica um pouco mais complicado, já que elas são, por natureza, uma mistura de layout e código.

A plataforma Java por exemplo, como alternativa a este problema, permite que se crie uma estrutura onde as páginas JSP são usadas apenas para layout, mantendo-se a lógica de negócios em classes Java puras, separadas do resto do sistema, e com a ajuda de frameworks web como o Struts e o WebWork, por exemplo.

Para terminar, cabe aqui mencionar ainda uma outra abordagem de páginas de servidor que substitui os scripts embutidos na forma de linguagem de programação por tags especiais, tornando o entendimento de uma página dinâmica mais amigável para os profissionais de design, mais acostumados com tags do que com códigos. Como exemplo podemos citar a JSTL, que é parte da plataforma Java, e a ColdFusion da Macromedia.



Resumos Relacionados


- Instalando O Php

- Introdução Ao Javascript

- O Que é Php

- Formulários Php

- Html Básico Introdução



Passei.com.br | Biografias

FACEBOOK


PUBLICIDADE




encyclopedia