120 likes | 212 Views
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.
E N D
Redes de Computadores Servidores e ProgramaçãoWeb
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 Input Mouse e teclado Output enviado ao monitor controlador Interp. HTML Driver Interp. Opcional Cliente HTTP Cliente Opcional Comunic. com servidor remoto Interface de Rede
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.
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.
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.