Upload
ian-willis
View
45
Download
0
Embed Size (px)
DESCRIPTION
Redes de Computadores. Servidores e Programação Web. Identificando uma página. WEB: integra vários serviços (http, telnet, ftp, mail) URL (Uniform Resource Locator) protocolo://nome_computador:porta/nome_documento Protocolo http mailto ftp telnet. Interação Cliente-Servidor. - PowerPoint PPT Presentation
Citation preview
Servidores e ProgramaçãoWeb
Redes de Computadores
Identificando uma página
• WEB: integra vários serviços (http, telnet, ftp, mail)• URL (Uniform Resource Locator)
– protocolo://nome_computador:porta/nome_documento
• Protocolo– http– mailto– ftp– telnet
Interação Cliente-Servidor
• Navegação pela Web utiliza-se do paradigma cliente-servidor
• Browser– Cliente que, através de uma URL, solicita um
documento– Faz o display do documento
• Servidor– atende a solicitação e devolve o documento
• Conexão: curta duração
Estrutura de um Cliente
controlador Interp. HTML
Interp. Opcional
Cliente HTTP Cliente Opcional
Interface de Rede
Input Mouse e teclado
Output enviado ao monitor
Comunic. com servidor remoto
Driver
Documentos Dinâmicos
• Um servidor pode prover documentos dinâmicos (gerados on-the-fly) – O servidor executa um programa auxiliar que cria o
documento em função de uma solicitação do cliente– O servidor passa ao browser (cliente) um programa. O
cliente executa o programa localmente e permite que o programa mostre a informação, interaja com o usuário, etc.
Aplicação + Servidor e Browser
Padrão CGI
• CGI - Common Gateway Interface– Mecanismo criado pela NCSA (National Center for
Supercomputer Applications) que define como um servidor Web interage com um aplicativo capaz de criar um documento dinâmico.
• Não especifica uma linguagem de programação– C, C++, Perl, ASP, PHP
• Output de um aplicativo CGI– html, texto, imagem,
CGI Segundo a NCSA
Um documento HTML padrão é estático, o arquivo nunca muda. Um programa CGI, por outro lado, é executado em tempo real e pode gerar informação dinâmica na saída. Suponha que se queira conectar um banco de dados Unix a WWW, de forma que todos possam acessá-la. Basicamente, será preciso criar um programa CGI a ser executado pelo daemon Web para transmitir informações ao ‘motor’ do banco de dados e, ainda, receber dados de volta, além de mostrá-los no cliente Web. Este é um exemplo de Gateway e é aí que o CGI teve sua origem.
Arquitetura CGI Padrão
Exemplo de script CGI em Perl
#!/bin/sh
#
# Script CGI que imprime a data e horario da execucao
#
# imprime o cabeçalho do documento seguido de uma linha em branco
echo Content/type: text/plain
echo
# Saída
echo Este documento foi criado em `date`
Adicionando acesso a Banco de Dados
<html>
<body>
<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
$result = mysql_query("SELECT * FROM employees",$db);
echo "<table border=1>\n"; echo "<tr><td>Name</td><td>Position</tr>\n";
while ($myrow = mysql_fetch_row($result))
{ printf("<tr><td>%s %s</td><td>%s</td></tr>\n", $myrow[1], $myrow[2], $myrow[3]); }
echo "</table>\n";
?>
</body>
</html>
Servidor Web Apache
Versão 2.0 / Versão 1.3
POSIX Threads
Maior estabilidade em plataformas não UNIX
Suporte IPv6
Maior número de módulos.