180 likes | 303 Views
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
E N D
Protocolo HTTPServidores 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 2.Servidor aceita a conexão e avisa o cliente 3. Cliente envia mensagem de pedido de http (que contém a URL) através de socket de conexão tcp 4. Servidor recebe mensagem pedido e formula a mensagem de resposta contendo os objetos solicitados. Envia mensagem via socket. tempo
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. • Persistentes • http 1.1 • Na mesma conexão tcp o servidor analisa o pedido, responde e analisa novo pedido. • Cliente envia o pedido para todos os objetos referenciados assim que recebe o Html básico. • Menos RTTs e menos partidas lentas. • Não persistente • http 1.0 • Servidor analisa pedido, responde e encerra a conexão tcp. • 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)
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-form-urlencoded 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.