12
Servidores e Programação Web Redes de Computadores

Servidores e Programação Web

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

Page 1: Servidores e Programação Web

Servidores e ProgramaçãoWeb

Redes de Computadores

Page 2: 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

Page 3: Servidores e Programação Web

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

Page 4: Servidores e Programação Web

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

Page 5: Servidores e Programação Web

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.

Page 6: Servidores e Programação Web

Aplicação + Servidor e Browser

Page 7: Servidores e Programação Web

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,

Page 8: Servidores e Programação Web

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.

Page 9: Servidores e Programação Web

Arquitetura CGI Padrão

Page 10: Servidores e Programação Web

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`

Page 11: Servidores e Programação Web

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>

Page 12: Servidores e Programação Web

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.