A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Protocolo HTTP e Web Servers

Apresentações semelhantes


Apresentação em tema: "Protocolo HTTP e Web Servers"— Transcrição da apresentação:

1 Protocolo HTTP e Web Servers
Gerencia de Redes Redes de Computadores II

2 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 web (web server). Duas versões do protocolo: HTTP 1.0 (RFC 1945) HTTP 1.1 (RFC 2616)

3 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.

4 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

5 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

6 Protocolo http. Conexões persistentes e conexões não persistentes.
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)

7 Protocolo Http Formato de mensagem http: Formato geral
Dois tipos de mensagens: Pedido, resposta. Mensagem de pedido http (formato ASCII)

8 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.

9 Protocolo Http Usando método GET Usando método POST Exemplo de pedido:
GET / HTTP/1.1 Host: Accept: */* User-agent: Mozilla/4.0 POST / HTTP/1.1 Host: san.uri.br Content-Length: 27 Connection: Keep-Alive Nome=NamePessoa&Idade=99&Curso=Computacao Usando método GET Usando método POST

10 Protocolo Http Exemplo de resposta: HTTP/1.1 200 OK
Date: Mon, 06 Aug :32:52 GMT Server: Apache X-Powered-By: PHP/5.1.2 Connection: close Content-Type: text/html; charset=iso Dados dados dados dados dados...

11 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.

12 Protocolo Http Mensagens de erro 200 : OK 301: Moved permanently
400: Bad Request 404: Not found 505: Http version not supported.

13 Web Server

14 Web Server Um servidor web é um software usado para armazenar páginas e aplicações web Proporciona paginas para a Internet e intranet. Armazena diferentes tipos de paginas, scripts, programas e arquivos multimídia Os arquivos são servidos usando o protocolo HTTP.

15 Web Server Uma grande quantidade de tecnologias baseadas no lado do servidor podem ser utilizadas para aumentar a habilidade dos servidores em disponibilizar simples paginas HTML Exemplos: CGI SSI SSL ASP, PHP, JSP, etc

16 Histórico 1989 Tim Berners-Lee propõe ao CERN (seu empregador) um novo projeto para permitir a troca de informações usando um sistema hipertexto 1990 dois programas são disponibilizados Um cliente web (browser) Um servidor web (que seria mais tarde chamado de CERN Httpd rodando em NextStep 1991 – consolidação e portabilidade de cliente e servidor para diferentes plataformas 1994 – Berners cria o World Wide Web Consortium para fins de padronização do HTTP e tecnologias envolvidas

17 Overview de como um Web Server trabalha
Browser 1 – Requisição do usuário através de um navegador (exemplo index.hml) 4 – Servidor retorna os dados do documento ao navegador do usuário Web Server 2 – Servidor web procura o arquivo no seu sistema de arquivos 3 – Servidor obtém o arquivo do seu sistema de arquivos Sistema de arquivos

18 Interação Web Server e Browser
O browser atua como uma interface entre o usuario e o servidor web O browser executa os seguinte passos para o usuários: Contata o servidor web Envia informacoes requeridas Recebe as informacoes Interpreta e mostra as informacoes recebidas

19 Interação Web Server e Browser
O servidor aceita conexões de rede efetuadas pelos clientes Recupera o conteudo do disco local Quando necessário executa programas para gerar páginas dinamicas (ou encaminha o pedido a um servidor de aplicações) Transmite os dados resultantes para o cliente Deve ser o mais rapido possivel Suportar multithreads e multiprocessamento é uma grande diferença

20 Overview de como um Web Server trabalha
Maior expansão nos servidores foi a possibilidade de criar páginas dinâmicas baseadas na entrada de dados dos usuarios A forma mais antiga e ainda utilizada é atraves do uso de Common Gateway Interface (CGI) Ele basicamente define como um Web Server deve executar programas localmente e transmitir os dados para o cliente com o conteudo gerado de forma dinamica As demais formas de gerar páginas dinamicas se baseiam no mesmo principo de execução de um programa local e a saída do mesmo sendo encaminhada para o navegador do cliente

21 Exemplo de como um script PHP é executado

22 Caracteristicas Grande parte dos servidores web implementam as seguintes caracteristicas Autenticacao Suporte a conteudo estatico e dinamico HTTPS Compressao de conteudo Virtual Hosting Suporte a arquivos de grande tamanho (acima de 2Gb) Controle de banda

23 Conversão de caminho Servidor mapeia uma URL para um caminho local
O cliente efetua seguinte requisicao GET /diretorio/arquivo.html HTTP/1.1 Host: Servidor procura o arquivo em /var/www/diretorio/arquivo.html

24 Limite de carga e de processos
Servidores possuem uma configuracao que define quantos clientes podem conectar de forma concorrente Tambem possuem configuracoes da quantidade de processos que podem ser disparados (spawn) para evitar sobrecarga do sistema

25 Prática Na linha de comando # telnet www.san.uri.br 80 GET index.html
<enter> duas vezes. Analise a resposta.

26 Prática Utilize a ferramenta CURL para obter os cabecalhos
# curl -v -I Analise a resposta. *Mais informações sobre CURL em

27 Prática Agora use o site Analise a resposta.


Carregar ppt "Protocolo HTTP e Web Servers"

Apresentações semelhantes


Anúncios Google