Anda di halaman 1dari 17

Linux

Servidor WEB

Prof. Roberto Amaral

WWW Breve histrico

Incio 1989 CERN (Centro Europeu de Pesquisas


Nucleares) precisava de um meio de viabilizar o
trabalho cooperativo por cientistas espalhados por
diversos pases, atravs da troca de documentos.

1991 primeira verso da Web, baseada em texto.

1993 NCSA - browser grfico Mosaic

1994 Netscape

1994 CERN e M.I.T fundam o W3C (w3.org)

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

Plataforma Web

Baseada em HTTP (RFC 2068)


Protocolo simples de transferncia de arquivos
Sem estado (no mantm sesso aberta)

Funcionamento (simplificado)

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

HTTP - O Servidor Web

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

HTTP - O Servidor Web

Idia bsica: distribuio de contedo esttico


(tipicamente pginas escritas em HTML).

Evoluo:

distribuio

de

contedo

gerado

dinamicamente, em resposta a dados fornecidos


pelo usurio (por exemplo atravs da consulta a um
banco de dados corporativo).

CGI Common Gateway Interface: a forma mais


antiga de prover contedo dinmico.

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

Common Gateway Interface

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

HTTP

HTTP - HyperText Transmission Protocol o


protocolo usado na comunicao entre o servidor
Web e o Browser.
HTTP constitui a base sobre a qual o servidor Web
realiza suas operaes.
A idia inicial era a de que o HTTP deveria ser um
protocolo bem simples.
Mesmo aps vrias modificaes e melhorias, a
idia bsica do HTTP continua sendo a mesma
simples.

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

HTTP

Uma conexo HTTP feita como comandos


Telnet, que por sua vez so formados por
mensagens texto trocadas atravs de uma
conexo TCP.
Um exemplo:
%> telnet www.umsite.com 80
%> GET /index.html HTTP/1.0
(a porta 80 a padro para conexo com o servidor
web)

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

HTTP

a resposta do servidor tambm na forma


texto:
...
<HTML>
<HEAD>
<TITLE> ....</TITLE>
...
</HEAD>
</HTML>

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

HTTP

Todo site na Web deve manter um processo servidor


que fica aceitando pedidos de conexo na porta TCP
80.

Uma vez estabelecida a conexo, o cliente envia um


pedido

servidor

envia

resposta

correspondente.

Tendo atendido o pedido, a conexo encerrada.

O protocolo HTTP define o conjunto de pedidos


possveis e as respostas correspondentes.

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

10

Cliente e servidor HTTP

Servidor HTTP
Gerencia um sistema virtual de arquivos e diretrios
Mapeia pastas do sistema de arquivos local (ex.: c:\htdocs) a
diretrios virtuais (ex: /) acessveis remotamente

Papel do servidor HTTP


Interpretar requisies HTTP do cliente (mtodos GET, POST, ...)
Devolver resposta HTTP sada padro (cdigo de resposta 200,
404, etc., cabealho e dados)

Papel do cliente HTTP


Enviar requisies HTTP (GET, POST, ...) a um servidor.
Processar respostas HTTP recebidas (interpretar cabealhos,
identificar tipo de dados, interpretar dados)

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

11

Servios de Informaes: Tecnologias de


Apresentao

HTML 4.0 (HyperText Markup Language)


Coleo de marcadores (SGML) usados para formatar
texto:
Nada diz sobre a aparncia (browser quem decide).
Define apenas estrutura e contedo.

CSS 2.0 (Cascading Style Sheets)


Lista de regras de apresentao para uma pgina ou todo
um site (linguagem declarativa)
Depende da estrutura do HTML.
26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

12

Apatchy ou Apache ?

Em 95 a NCSA criou seu WEB Server


A patches (Apatchy)
60% do servidores mundiais

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

13

Vantagens

Suporte a HTTP para criao de hosts virtuais

Suporte SSL

Cuporte CGI, Perl e PHP

Suporte a autenticao baseado em HTTP

Suoporte a Server Side Includes (SSI)

Suporte a Servlets Java

Logs Customizveis

Configurao rpida e simples


26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

14

Servidor Virtual
Com o recurso de servidores virtuais, um
servidor Apache pode hospedar vrios
endereos de diversos clienes, utilizando
endereos IP virtuais ou NDS.

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

15

Sites Dinmicos

Para linguagens dinmicas o Apache usa PHP

Desenvolvido por Rasmus Lerdforf em 94

Roda em Unix e Win32

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

16

Apache PHP MySQL

Apache

HTML Linguagem esttica

PHP Linguagem Dinmica

MySQL Banco de Dados

26/08/10 09:46 PM

Prof. Marcelo Farias & Prof.

17

Anda mungkin juga menyukai