Você está na página 1de 7

22/03/2023, 19:22 5.

4 Transformação de Sites Estáticos em Sites Dinâmicos | Tecnologia Web: Teoria e Prática

5.4 TRANSFORMAÇÃO DE LOCAIS ESTÁTICOS PARA LOCAIS


DINÂMICOS

Do ponto de vista da tecnologia, em comparação com o mundo em rápida


mudança das tecnologias do lado do cliente, as tecnologias do lado do ser-
vidor, em grande parte pioneiras do Java, têm mudado relativamente me-
nos rápido. Foi mencionado que quando a web começou, ela tinha apenas
páginas web estáticas. Além disso, era predominantemente baseado em
texto. O caminho das páginas estáticas para a Rich UI levou a última dé-
cada e meia. Embora a evolução não tenha ocorrido de forma estrutu-
rada, pode-se pensar que ela está representada conforme a Figura 5.3 .

Fig. 5.3 A evolução da web dinâmica - uma perspectiva do lado do


servidor

Após a introdução dos padrões HTML, o navegador começou a tomar


forma que possibilitou o dinamismo. O cliente fazia solicitações para pá-
ginas específicas quando o usuário clicava nos links e, em seguida, o ser-
vidor fornecia serviços para localizar a página específica e renderizá-la.

O caminho de uma solicitação GET simples por HTTP enviada de um cli-


ente atendido por um servidor web é mostrado na Figura 5.4 .

https://learning.oreilly.com/library/view/web-technology-theory/9789332508194/xhtml/ch05_4.xhtml#ch05_4_1 1/7
22/03/2023, 19:22 5.4 Transformação de Sites Estáticos em Sites Dinâmicos | Tecnologia Web: Teoria e Prática

Fig. 5.4 A função de um servidor web

Um servidor da Web clássico dos dias anteriores lidava apenas com


HTTP, mas não com conteúdo dinâmico. Ainda pode haver DHTML
(HTML dinâmico) para exibir algum comportamento dinâmico, mas isso
está no lado do cliente e não no lado do servidor. Como resultado, em
pouco tempo, foi substituído por uma tecnologia do lado do servidor que
construiu o HTML de saída de acordo com as necessidades e assim nasce-
ram as respostas dinâmicas. CGI foi a primeira tecnologia desse tipo a
permitir isso. CGI significa Common Gateway Interface, que é escrito sob
medida na forma de scripts e é aparafusado a um servidor web na forma
de um pipe.Por pipe, significa que o servidor web repassa certas informa-
ções para o programa externo (o CGI) que executa as tarefas necessárias
de buscar dados ou arquivos relevantes do processamento do sistema em
um formato compatível com HTML. Esse HTML processado é enviado ao
navegador do usuário. O diagrama, mostrado na Figura 5.5 , explica a
sequência (numerada conforme mostrado) de atividades que ocorrem
contra uma solicitação CGI.

https://learning.oreilly.com/library/view/web-technology-theory/9789332508194/xhtml/ch05_4.xhtml#ch05_4_1 2/7
22/03/2023, 19:22 5.4 Transformação de Sites Estáticos em Sites Dinâmicos | Tecnologia Web: Teoria e Prática

Fig. 5.5 CGI junto com um servidor web

Os scripts CGI podem ser escritos em várias linguagens como C, C++,


etc., mas o PERL se tornou a opção de escolha dos programadores. No en-
tanto, usar CGI exigirá recursos extras para solicitações adicionais.Além
disso, a maneira como o CGI funciona é gerar um processo diferente para
cada solicitação. Ambos os fatores consomem bastante memória e despe-
sas gerais de desempenho. Portanto, não é escalável nem bom em desem-
penho – ambos vitais para a maioria dos aplicativos modernos baseados
na web. Além disso, como o CGI é executado em um espaço de processo
diferente, ele não pode se comunicar diretamente com o servidor da Web
(por exemplo, para um processo de registro). Além disso, a segurança é
uma grande preocupação, pois a maioria das implementações de CGI
usava um tipo de programa ou script de linha de comando (shell), o que
tornava o trabalho fácil para a invasão de um hacker. Conseqüentemente,
o modelo CGI raramente é usado em tipos sérios de aplicativos mais re-
centes e é substituído por tecnologias mais recentes.

Enquanto isso, uma alternativa foi desenvolvida, chamada FastCGI, que


funciona como CGI, mas gera menos processos. A escalabilidade melho-
rou, mas não o suficiente para corresponder ao aumento da demanda de
processamento do servidor, visto que houve avanços paralelos para tor-
nar a interface do usuário mais rica. Além disso, a interação mesmo entre
os processos se mostrou um desafio.

5.4.1 Scripts incorporados do lado do servidor em HTML

Durante esse tempo, a Microsoft (assim como outras empresas) criou uma
técnica para gerar conteúdo dinâmico da Web chamada Active Server Pa-

https://learning.oreilly.com/library/view/web-technology-theory/9789332508194/xhtml/ch05_4.xhtml#ch05_4_1 3/7
22/03/2023, 19:22 5.4 Transformação de Sites Estáticos em Sites Dinâmicos | Tecnologia Web: Teoria e Prática

ges, ou ASP. Com ASP, uma página HTML no servidor web pode conter tre-
chos de código embutido em VBScript ou JScript. Este código é lido e exe-
cutado pelo servidor web antes de enviar a página para o cliente. ASP foi
otimizado para gerar pequenas porções de conteúdo dinâmico.

O padrão observado durante esse período é simplesmente estender a


capacidade de um servidor da web. Retrospectivamente, o período de
transição viu o surgimento de extensões do lado do servidor, como inclu-
sões do lado do servidor (SSI).

SSI é um conjunto de diretivas como include, echo, fsize, exec, if, etc,
que são colocadas em páginas HTML, mas avaliadas no servidor. A parte
do servidor do conteúdo vem do servidor e, portanto, os dados podem ser
gerados dinamicamente. Ao contrário do modelo de CGI, um programa
completo não precisa ser escrito para obter informações dinâmicas em
uma página. O SSI é útil quando uma pequena parte da página (como
data, um campo de banco de dados, uma execução condicional, funciona-
lidade de e-mail ou algo semelhante) deve ser renderizada dinamica-
mente do lado do servidor e a maior parte do conteúdo restante sendo es-
tático. O formato das diretivas segue uma sintaxe genérica conforme
abaixo.

<!-- # <tag> <RHS da tag> -->

O identificador “<!--#” sinaliza ao servidor que ele deve processar as di-


retivas que abrangem isso e a tag final que é “-->”. Eles são mostrados no
exemplo acima. <tag> é uma das diretivas como include, echo,
exec, config, email, if, etc. <RHS da tag> são as variáveis ​ou ins-
truções que dependem da própria tag.

Por exemplo, um cabeçalho ou rodapé em uma página da Web pode ser


realizado pela diretiva #include, que terá o nome do arquivo como
header.html.

<!--#include FILE=“ meucabeçalho.html”-->

A essência das diretivas é mostrada abaixo.

https://learning.oreilly.com/library/view/web-technology-theory/9789332508194/xhtml/ch05_4.xhtml#ch05_4_1 4/7
22/03/2023, 19:22 5.4 Transformação de Sites Estáticos em Sites Dinâmicos | Tecnologia Web: Teoria e Prática

Diretiva Descrição

Eco Usado para inserir valores de variáveis ​- tanto locais


quanto ambientais

Incluir Insere texto de outros documentos no diretório local do


servidor, por exemplo, cabeçalho e rodapé

Fsize tamanho de um arquivo especificado

Executivo Usado para executar um programa externo ou um


programa CGI

flastmod Refere-se à data/hora da última modificação

configuração Usado para mensagens de erro, formatos, etc.

Esta seção não pretende fornecer ao leitor uma abordagem tutorial do


SSI, mas apenas ter uma ideia do que pode ser alcançado pelo SSI e como
ele se parece.

Existem muitas variações de tecnologia do lado do servidor usadas por


servidores em todo o mundo. Geralmente, a extensão que acompanha o
URL pode dar uma espiada no tipo de tecnologia que o site está usando. A
maioria dos servidores da Web é configurada de forma a esperar arqui-
vos SSI com uma extensão de SHT ou SHTM .

Embora as diretivas sejam meio uniformes, a implementação do SSI é


deixada para o servidor web que as suporta. Apache, IIS e lighttpd estão
entre os servidores web que suportam SSI.

Princípios semelhantes de programas do lado do servidor foram adota-


dos pelo ASP da Microsoft, introduzido pela primeira vez por volta de
1996, no qual o código do lado do servidor é incorporado ao HTML. Nesse
caso, o código incorporado segue VBScript ou JScript do Microsoft estável.
O suporte para ASP é fornecido nativamente pelo IIS da Microsoft, em-
bora existam outros servidores comercialmente disponíveis para suporte.

O Javascript do lado do servidor é disponibilizado pela Netscape supor-


tado nativamente por seus servidores da web.

https://learning.oreilly.com/library/view/web-technology-theory/9789332508194/xhtml/ch05_4.xhtml#ch05_4_1 5/7
22/03/2023, 19:22 5.4 Transformação de Sites Estáticos em Sites Dinâmicos | Tecnologia Web: Teoria e Prática

Fornecedores de servidores da Web (principalmente Microsoft e Nets-


cape — naquela época) criaram suas APIs (ISAPI e NSAPI, respectiva-
mente) para resolver alguns desses principais desafios. No entanto, eles
são denominados proprietários, pois levam ao bloqueio do fornecedor.

Em uma observação genérica, é mais simples escrever essas partes do


código incorporado do lado do servidor em HTML. Também é mais ou
menos independente do navegador, o que é bom, mas, por outro lado, há
algum esforço envolvido na configuração do servidor da web. Além disso,
para um processamento mais elaborado, um modelo como SSI ou ASP não
pode ser dimensionado e é, na verdade, apenas uma solução pontual para
a introdução de conteúdo dinâmico. Essas tecnologias são, de fato, rara-
mente usadas para novos desenvolvimentos, embora existam muitos lo-
cais operando com esses modelos mais antigos que, no entanto, precisam
de manutenção para mantê-los bem lubrificados e funcionando.

Embora existam diferentes tecnologias disponíveis para trabalhar no


lado do servidor, como também mencionado nos parágrafos anteriores,
este livro segue um fluxo específico de tecnologia. Ao escolher isso, os
principais fatores que influenciam são seu uso, suporte para várias tecno-
logias sob um único guarda-chuva, disponibilidade como código aberto e
sua popularidade. O ambiente Java EE se encaixa na maioria desses crité-
rios e, portanto, foi escolhido como uma direção para o desenvolvimento
da Web neste livro. Ao mesmo tempo, deve-se perceber que o caso ideal
seria ser independente da tecnologia subjacente. É importante que o lei-
tor compreenda os fundamentos, embora os exemplos se refiram princi-
palmente ao fluxo fornecido pelo Java (EE). Além disso, um número
maior de bibliotecas de terceiros e fontes de informação estão disponíveis
no ambiente Java EE.

Uma atualização rápida do Java está incluída no Apêndice para aqueles


que desejam dar uma olhada na linguagem. Deve ser igualmente eficaz se
os exemplos seguirem o DotNet da Microsoft ou outro ambiente de código
aberto como o Ruby On Rails.

https://learning.oreilly.com/library/view/web-technology-theory/9789332508194/xhtml/ch05_4.xhtml#ch05_4_1 6/7
22/03/2023, 19:22 5.4 Transformação de Sites Estáticos em Sites Dinâmicos | Tecnologia Web: Teoria e Prática

Nota de aparte

O Java Community Process (JCP) é responsável pelo desenvolvimento do


Java ( www.jcp.org ). Eles interagem com a comunidade tecnicamente
por meio de Java Specification Requests (JSRs), que são as descrições das
especificações propostas e finais para a plataforma Java. A qualquer mo-
mento, vários JSRs passam pelo processo de revisão e aprovação. Consulte
http://jcp.org/en/jsr/overview para obter detalhes. Os leitores podem se
referir a visitar esses sites, o que também os incentiva a ingressar em sua
lista de mala direta, onde os membros podem até participar de análises.
Haverá uma menção de alguns dos JSRs relevantes ao longo deste livro.

https://learning.oreilly.com/library/view/web-technology-theory/9789332508194/xhtml/ch05_4.xhtml#ch05_4_1 7/7

Você também pode gostar