aula 7 - Professor Diovani

Propaganda
Protocolo HTTP
Servidores de Páginas
Redes de computadores II
Prof. Diovani Milhorim
A Web Wide Word (www)

Páginas Web (www) : Consiste de objetos
endereçados por uma URL.
ex: www.facthus.edu.br

A maioria das páginas web consistem de um
documento HTML que referencia vários
objetos tais como: imagens, animações,
sons, etc...
A Web Wide Word (www)

A URL tem duas partes: Nome do
hospedeiros e nome do caminho.
Ex. www.voile.com.br/diovani/redes1
hospedeiro: www.voile.com.br
Caminho : /diovani/redes1
A Web Wide Word (www)

Agente de usuário são chamados de Browsers ou
navegador.
ex: internet explorer, netscape, opera, firefox.

Servidores são chamados de “servidores de
páginas” ou “servidores www”.
ex: Apache
Microsoft Internet information service (IIS)
O protocolo Http




HTTP : hyper text transfer protocol.
Protocolo de camada de aplicação.
Modelo cliente/servidor : browser são clientes
que pedem objetos ao servidor www.
Duas versões do protocolo:
http 1.0 (rfc 1945)
http 1.1 (rfc 2048)
O protocolo Http



HTTP : Utiliza o tcp como protocolo de
transporte
Cliente utiliza conexão via socket no servidor.
Porta padrão 80.
O protocolo http é sem estado (stateless).
- Servidor não mantém histórico de outras
conexões do cliente.
- Servidores que mantêm estado são
complexos.
O protocolo Http

Exemplo de conexão
1. Cliente pede conexão em
servidor http (processo) na porta 80
do servidor
3. Cliente envia mensagem de
pedido de http (que contém a URL)
através de socket de conexão tcp
tempo
2.Servidor aceita a conexão e
avisa o cliente
4. Servidor recebe mensagem
pedido e formula a mensagem
de resposta contendo os objetos
solicitados. Envia mensagem via
socket.
O protocolo Http

Exemplo de conexão (continuação)
5.Servidor encerra a conexão
6.Cliente http recebe mensagem do
servidor, contendo arquivo html.
Visualiza o arquivo html. Verifica
que o arquivo Html referencia outros
10 objetos.
7. Passos de 1 a 5 repetidos
para cada objeto
tempo
Protocolo http.

Conexões persistentes e conexões não persistentes.
Não persistente
Persistentes
•http 1.0
•http 1.1
•Servidor analisa pedido, responde
e encerra a conexão tcp.
•Na mesma conexão tcp o servidor
analisa o pedido, responde e
analisa novo pedido.
•Para cada objeto e para a página
Html deverá ser aberta uma
conexão tcp
•Transferência de cada objeto sofre
de partida lenta do tcp.
•2 RTTs para cada objeto. (round
trip time)
•Cliente envia o pedido para todos
os objetos referenciados assim que
recebe o Html básico.
•Menos RTTs e menos partidas
lentas.
Protocolo Http
Formato de mensagem http: Formato geral


Dois tipos de mensagens: Pedido, resposta.
Mensagem de pedido http (formato ASCII)
Protocolo Http
Formato de mensagem http: Método



GET: É o método mais comum: solicita algum recurso
como um arquivo ou um script CGI (qualquer dado que
estiver identificado pelo URI) por meio do protocolo
HTTP. O método GET é reconhecido por todos os
servidores.
HEAD: É o mesmo que GET, mas sem que o recurso
seja retornado. É usado para obter meta-informações
por meio do cabeçalho da resposta, sem ter que
recuperar todo o conteúdo.
POST: Envia dados para serem processados (por
exemplo, dados de um formulário HTML) para o recurso
especificado. Os dados são incluídos no corpo do
comando.
Protocolo Http

Exemplo de pedido:
GET
/index.html
HTTP/1.1 Host:
User-agent: Mozilla/4.0
Accept: text/html, image/gif, image/jpeg
Accept-language: fr
Protocolo Http

Exemplo de resposta:
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.27 (Unix) (RedHat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8
Dados dados dados dados dados...
Protocolo Http

Exemplo de pedido com POST
POST /index.html HTTP/1.0
Accept: text/html If-modified-since: Sat,
29 Oct 1999 19:43:31 GMT
Content-Type: application/x-www-formurlencoded Content-Length: 30
Nome=NamePessoa&Idade=99&Curso=Computacao
Protocolo Http
Mensagens de erro





1xx: Informational (Informação) – utilizada para enviar
informações para o cliente de que sua requisição foi recebida e
está sendo processada;
2xx: Success (Sucesso) – indica que a requisição do cliente foi
bem sucedida;
3xx: Redirection (Redirecionamento) – informa a ação adicional
que deve ser tomada para completar a requisição;
4xx: Client Error (Erro no cliente) – avisa que o cliente fez uma
requisição que não pode ser atendida;
5xx: Server Error (Erro no servidor) – ocorreu um erro no servidor
ao cumprir uma requisição válida.
Protocolo Http
Mensagens de erro

200 : OK

301: Moved permanently

400: Bad Request

404: Not found

505: Http version not supported.
Protocolo Http
Exercício




No prompt de comando do DOS digite
Telnet www.xxx.com.br 80
GET index.html HTTP/1.1
<enter> duas vezes.
Analise a resposta.
Protocolo Http
Exercício
Configure e coloque em operação o servidor
apache de sua máquina no sistema linux.
Tente fazer seu servidor operar nas portas 80 e
81.
Crie uma página inicial personalizada para seu
servidor de paginas com o seu nome.
Download