http (hypertext transfer protocol) faculdade de tecnologia senac pelotas/rs curso superior de...

31
HTTP HTTP ( ( HyperText Transfer Protocol HyperText Transfer Protocol ) ) Faculdade de Tecnologia SENAC Pelotas/RS Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes de Computadores III Unidade curricular Redes de Computadores III Professor Eduardo Maroñas Monks Professor Eduardo Maroñas Monks

Upload: internet

Post on 22-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

HTTP HTTP

((HyperText Transfer ProtocolHyperText Transfer Protocol))

Faculdade de Tecnologia SENAC Pelotas/RSFaculdade de Tecnologia SENAC Pelotas/RS

Curso Superior de Tecnologia em Redes de Computadores Curso Superior de Tecnologia em Redes de Computadores

Unidade curricular Redes de Computadores IIIUnidade curricular Redes de Computadores III

Professor Eduardo Maroñas MonksProfessor Eduardo Maroñas Monks

Page 2: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

SUMÁRIOSUMÁRIO

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 22

• HistóricoHistórico• FuncionalidadesFuncionalidades• ProtocoloProtocolo• AplicaçõesAplicações• SegurançaSegurança• Referências BibliográficasReferências Bibliográficas

Page 3: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

HistóricoHistórico

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 33

• Décadas de 70 e 80Décadas de 70 e 80• A Internet era usada somente para pesquisas A Internet era usada somente para pesquisas

acadêmicasacadêmicas• Basicamente, a rede era usada para acesso remoto, Basicamente, a rede era usada para acesso remoto,

transferência de arquivos e troca de e-mailstransferência de arquivos e troca de e-mails• Final dos anos 80 e início da década de 90Final dos anos 80 e início da década de 90

• Propostas iniciais da arquitetura do WWW (Propostas iniciais da arquitetura do WWW (World World Wide WebWide Web) por Tim Berners-Lee em 1989) por Tim Berners-Lee em 1989

• Sistemas existentes para acesso e procura de Sistemas existentes para acesso e procura de documentos disponíveis na época: Gopher, Archie, documentos disponíveis na época: Gopher, Archie, WAIS (WAIS (Wide Area Information ServersWide Area Information Servers) e outros) e outros

• Todos estes sistemas foram substituídos pelo WWWTodos estes sistemas foram substituídos pelo WWW• Crescimento exponencial do WWW nos anos 90Crescimento exponencial do WWW nos anos 90

• 1991: primeiro navegador Web e servidor de páginas1991: primeiro navegador Web e servidor de páginas• 1993: primeira versão do navegador 1993: primeira versão do navegador MosaicMosaic (Pai do (Pai do

Netscape e avô do Firefox...)Netscape e avô do Firefox...)

Exemplo de uso de serviços com o protocolo GopherExemplo de uso de serviços com o protocolo Gopher

http://www.quux.org:70/Software/Gopher/servers

Page 4: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

HistóricoHistórico

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 44

• WWW (WWW (World Wide WebWorld Wide Web))• É uma arquitetura que envolve protocolos, É uma arquitetura que envolve protocolos,

linguagens de apresentação e serviços para acesso linguagens de apresentação e serviços para acesso universal a informações. universal a informações.

• Definição do W3C (Definição do W3C (WWorld Wide Web Consortiumorld Wide Web Consortium) ) para o WWW:para o WWW:• ““O WWW é o universo de informações acessíveis O WWW é o universo de informações acessíveis

pela rede, uma representação concreta do pela rede, uma representação concreta do conhecimento humano”.conhecimento humano”.

• As características do WWW são:As características do WWW são:• HypertextoHypertexto• Interface gráficaInterface gráfica• Dados MultímidiaDados Multímidia• Rapidez na divulgação das informaçõesRapidez na divulgação das informações• Acesso imediato e universal a informaçãoAcesso imediato e universal a informação• Democracia na autoria do conteúdo (Blogs, Democracia na autoria do conteúdo (Blogs,

Wiki...)Wiki...)• Facilidade na procura das informações (Google)Facilidade na procura das informações (Google)

Page 5: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

HistóricoHistórico

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 55

• Componentes do WWW (Componentes do WWW (World Wide WebWorld Wide Web))

• Protocolo HTTP (Protocolo HTTP (Hypertext Transfer ProtocolHypertext Transfer Protocol))• Responsável pelas mensagens de requisição e Responsável pelas mensagens de requisição e

resposta entre clientes e servidoresresposta entre clientes e servidores• RFC: RFC: http://www.w3.org/Protocols/rfc2616/rfc2616.html

• ClientesClientes• Responsáveis pela interação do usuário para Responsáveis pela interação do usuário para

acesso aos dados disponibilizadosacesso aos dados disponibilizados

• ServidoresServidores• Responsáveis por disponibilizar os arquivos e por Responsáveis por disponibilizar os arquivos e por

gerar conteúdo dinâmico por meio de linguagens gerar conteúdo dinâmico por meio de linguagens de programaçãode programação

• Linguagem HTML (Hypertext Markup Language)Linguagem HTML (Hypertext Markup Language)• Linguagem interpretada e renderizada nos Linguagem interpretada e renderizada nos

clientes gráficos que possibilita conteúdo clientes gráficos que possibilita conteúdo multimídiamultimídia

Page 6: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

HistóricoHistórico

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 66

Evolução do Protocolo HTTPEvolução do Protocolo HTTP

• HTTP/0.9 (HTTP/0.9 (http://www.w3.org/Protocols/HTTP/AsImplemented.html))• Definido em 1991Definido em 1991• Versão inicial (protótipo) com falhas no projeto do Versão inicial (protótipo) com falhas no projeto do

protocoloprotocolo• Suporte somente para o método GETSuporte somente para o método GET• Sem suporte ao MIMESem suporte ao MIME• Projetado para interagir com arquivos HTMLProjetado para interagir com arquivos HTML

• HTTP/1.0 (HTTP/1.0 (http://www.ietf.org/rfc/rfc1945.txt))• Primeira versão amplamente utilizadaPrimeira versão amplamente utilizada• Suporte a objetos multimídia, métodos adicionais e Suporte a objetos multimídia, métodos adicionais e

cabeçalhos HTTPcabeçalhos HTTP• Possibilitou o uso de formulários interativos (métodos Possibilitou o uso de formulários interativos (métodos

POST e PUT)POST e PUT)• Não havia uma especificação formal do protocolo, somente Não havia uma especificação formal do protocolo, somente

melhores práticas para desenvolvê-lo, a RFC 1945 só veio melhores práticas para desenvolvê-lo, a RFC 1945 só veio em 1996!em 1996!

• Uso acadêmico e comercial Uso acadêmico e comercial

Page 7: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

HistóricoHistórico

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 77

• HTTP/1.0+ HTTP/1.0+ • Foram “gambiarras” criadas durante a década de 90 por Foram “gambiarras” criadas durante a década de 90 por

desenvolvedores de clientes e servidores de HTTP para desenvolvedores de clientes e servidores de HTTP para melhorar o protocolomelhorar o protocolo

• As melhorias foram extra-oficiais: conexões persistentes, As melhorias foram extra-oficiais: conexões persistentes, suporte a hosts virtuais e conexões a proxiessuporte a hosts virtuais e conexões a proxies

• HTTP/1.1 (HTTP/1.1 (http://www.faqs.org/rfcs/rfc2616.htmlhttp://www.faqs.org/rfcs/rfc2616.html))• Versão atual do protocolo (RFC 2616)Versão atual do protocolo (RFC 2616)• Melhorias no projeto do protocoloMelhorias no projeto do protocolo• Introdução de melhorias em desempenho e otimizações de Introdução de melhorias em desempenho e otimizações de

funcionalidadesfuncionalidades• Suporte a aplicações mais sofisticadasSuporte a aplicações mais sofisticadas

Key Differences between HTTP/1.0 and HTTP/1.1Key Differences between HTTP/1.0 and HTTP/1.1 - - http://www8.org/w8-papers/5c-protocols/key/key.hthttp://www8.org/w8-papers/5c-protocols/key/key.htmlml

Page 8: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

FuncionalidadesFuncionalidades

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 88

• URLURL• Sintaxe:Sintaxe:

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag><query>#<frag>

• Exemplos:Exemplos:

http://www.joes-hardware.com:80/index.html

http://161.58.228.45:80/index.html

ftp://anonymous:[email protected]/pub/gnu

http://joe:[email protected]/sales_info.txt

http://www.joes-hardware.com/tools.html#drills

http://www.diariopopular.com.br/site/content/esporte/index.php?id=4

Page 9: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

FuncionalidadesFuncionalidades

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 99

• Códigos de Estado

Total da Faixa de Códigos

Faixa Definida de Códigos

Categoria

100-199 100-101 Informacional

200-299 200-206 Sucesso

300-399 300-305 Redirecionamento

400-499 400-415 Erro no cliente

500-599 500-505 Erro no servidor

Page 10: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

FuncionalidadesFuncionalidades

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1010

• Transação HTTP• Baseada em requisições (Request) e respostas (Response)• Na versão 1.1 do protocolo foi padronizada a conexão

persistente para aumento de desempenho

Page 11: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

FuncionalidadesFuncionalidades

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1111

• Servidor HTTP

1. Estabelece a conexão TCP com o cliente

2.  Recebe a requisição – Lê a requisição na mensagem HTTP

3.  Processa a requisição – interpreta a requisição e realiza a ação correspondente

4.  Acessa o recurso – Busca o recurso solicitado na mensagem

5.  Constrói a resposta – cria uma mensagem com os cabeçalhos HTTP de resposta    

6.   Envia a resposta – envia a resposta para o cliente

7.  Registra a transação – guarda em arquivo de log o registro da transação

Page 12: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

FuncionalidadesFuncionalidades

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1212

• Cliente HTTP• São os responsáveis pela solicitação de recursos ao

servidor• Método HTTP básico é o GET• Dois tipos básicos:

• Modo texto (Lynx, Links, Wget, ...)• Modo gráfico (Mozilla Firefox, MS IE, Google Chrome, ...)

• Um browser (navegador) é um cliente HTTP com recursos de navegação, interpretação de HTML e recursos multimídia!

Componentes de um navegador

Page 13: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

FuncionalidadesFuncionalidades

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1313

• Proxy

Page 14: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

FuncionalidadesFuncionalidades

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1414

• Caching

Page 15: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

FuncionalidadesFuncionalidades

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1515

• Indexadores (Crawlers)

http://en.wikipedia.org/wiki/List_of_search_engines

Page 16: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1616

HTTPHTTP (HyperText Transfer Protocol) (HyperText Transfer Protocol)

• Baseado em cliente/servidor Baseado em cliente/servidor • Trabalha na porta Trabalha na porta 80 e 44380 e 443 utilizando o utilizando o

protocolo TCP como transporteprotocolo TCP como transporte• Utiliza mensagens de requisição e Utiliza mensagens de requisição e

resposta para transferência de recursos resposta para transferência de recursos • Mensagem em texto plano (em HTTPS as Mensagem em texto plano (em HTTPS as

mensagens são criptografadas)mensagens são criptografadas)• O protocolo não guarda estado (o acesso O protocolo não guarda estado (o acesso

de uma URL para outra não é mantido)de uma URL para outra não é mantido)• Versão atual é a 1.1 (RFC 2616)Versão atual é a 1.1 (RFC 2616)

Page 17: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1717

Componentes Componentes 

• ClientesClientes• Enviam requisições e recebem respostasEnviam requisições e recebem respostas• Navegadores, Spiders e AgentesNavegadores, Spiders e Agentes

• ServidoresServidores• Recebem requisições e enviam respostasRecebem requisições e enviam respostas• Web serversWeb servers

• ProxiesProxies• Atuam com servidores para o cliente e como Atuam com servidores para o cliente e como

cliente para o servidorcliente para o servidor• Desempenha outras funções tais como Desempenha outras funções tais como

registros e bloqueios de acessos, registros e bloqueios de acessos, armazenamento em cache, autenticação e etc.armazenamento em cache, autenticação e etc.

Page 18: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1818

RecursosRecursos• São quaisquer tipo de arquivo: texto, HTML, São quaisquer tipo de arquivo: texto, HTML,

binário, PDF, vídeo (AVI, MPEG, …), Flash, binário, PDF, vídeo (AVI, MPEG, …), Flash, Imagens, Java Script e etc…Imagens, Java Script e etc…

• Isto é possível devido ao MIME (Isto é possível devido ao MIME (Multipurpose Multipurpose Internet Mail ExtensionsInternet Mail Extensions) )

• O MIME é uma extensão que possibilita a O MIME é uma extensão que possibilita a representação de qualquer tipo de arquivorepresentação de qualquer tipo de arquivo

• Criado originalmente para permitir anexos em e-Criado originalmente para permitir anexos em e-mailmail

• MIME Media Types (MIME Media Types (http://www.iana.org/assignments/media-types/index.html))

Page 19: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1919

Alguns Métodos HTTPAlguns Métodos HTTP

• GETGET• É o método mais comum.É o método mais comum.• Normalmente, é utilizado para solicitar ao servidor Normalmente, é utilizado para solicitar ao servidor

que envie um recurso.que envie um recurso.• POSTPOST

• Envia dados do cliente para uma aplicação no Envia dados do cliente para uma aplicação no servidorservidor

• PUTPUT• Escreve documentos no servidor, faz o papel Escreve documentos no servidor, faz o papel

inverso do método GETinverso do método GET• Normalmentre, usado para o envio de arquivos ao Normalmentre, usado para o envio de arquivos ao

servidor (upload)servidor (upload)• DELETEDELETE

• Apaga um recurso no servidorApaga um recurso no servidor• Requer autenticação.Requer autenticação.

• HEADHEAD• Semelhante ao método GET, mas o servidor Semelhante ao método GET, mas o servidor

responde apenas com o cabeçalhoresponde apenas com o cabeçalho

Page 20: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2020

Formato das mensagensFormato das mensagens• RequisiçãoRequisição

GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr

(extra carriage return, line feed)

linha de pedido(comandos GET, POST,HEAD )

linhas decabeçalho

Carriage return, line feed

indica fim da mensagem

Page 21: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2121

Formato das mensagensFormato das mensagens• RespostaResposta

HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ...

linha de status(protocolo

código de status frase de status)

linhas decabeçalho

dados, e.x., arquivo html

Page 22: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2222

•   Captura no WiresharkCaptura no Wireshark• Solicitação de um página HTML (1)Solicitação de um página HTML (1)• Solicitação de um arquivo (2)Solicitação de um arquivo (2)• Envio de dados em um formulário para o servidor Envio de dados em um formulário para o servidor

(3)(3)• Requisição usando o HTTPS (4)Requisição usando o HTTPS (4)

Page 23: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2323

  HTTPSHTTPS• É a forma mais comum de segurança do HTTPÉ a forma mais comum de segurança do HTTP• Criado em 1994 pela Criado em 1994 pela Netscape Communications Netscape Communications

CorporationCorporation é suportado pelos mais importantes é suportado pelos mais importantes navegadores e servidores atuaisnavegadores e servidores atuais

• Todas as requisições e respostas de dados HTTP são Todas as requisições e respostas de dados HTTP são criptografadas antes de serem enviadas na redecriptografadas antes de serem enviadas na rede

• O HTTPS provê segurança na camada de sessão por meio O HTTPS provê segurança na camada de sessão por meio do SSL (do SSL (Secure Sockets LayerSecure Sockets Layer ) ou TLS ( ) ou TLS (Transport Layer Transport Layer SecuritySecurity ) ) que é o padrão atualque é o padrão atual

• Utiliza a porta 443 e a URL com https://Utiliza a porta 443 e a URL com https://

Page 24: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2424

  HTTPSHTTPS• Utiliza Utiliza certificadoscertificados que fornecem: que fornecem:• autenticidade para o servidor (autenticidade para o servidor (o certificado deve ser o certificado deve ser

válido!válido!))• confidencialidade a comunicaçãoconfidencialidade a comunicação• integridade aos dadosintegridade aos dados

Page 25: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

ProtocoloProtocolo

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2525

  HTTPS x HTTPHTTPS x HTTP

Page 26: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

AplicaçõesAplicações

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2626

• Clientes e servidores de HTTP existem para a maioria Clientes e servidores de HTTP existem para a maioria dos sistemas operacionais. dos sistemas operacionais.

• É o metodo mais utilizado para acesso a informações e a É o metodo mais utilizado para acesso a informações e a serviços na Internet atual. serviços na Internet atual.

• Versões comerciais, freeware ou de código-fonte aberto:Versões comerciais, freeware ou de código-fonte aberto:

• Clientes HTTP (Navegadores, Web Browsers)• Mozilla Firefox• MS Internet Explorer• Opera• Google Chrome• Apple Safari• Konqueror• ...

• Servidores HTTP (Servidores de páginas, Web Servers)• Apache• MS IIS• Lighttpd• Nginx• ...

Fonte: Fonte: http://www.netcraft.comhttp://www.netcraft.com

Page 27: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

AplicaçõesAplicações

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2727

• ProxyProxy • O acesso a um servidor web é feito por meio do servidor O acesso a um servidor web é feito por meio do servidor

proxyproxy• O proxy funciona como servidor para o cliente que O proxy funciona como servidor para o cliente que

originou a requisição e como cliente para o servidor de originou a requisição e como cliente para o servidor de destinodestino

• O endereço do proxy é configurado no cliente O endereço do proxy é configurado no cliente (navegador) (navegador)

• Vantagem:Vantagem:• Possibilita a filtragem de conteúdoPossibilita a filtragem de conteúdo• ““Esconde” os hosts internos (só o endereço do proxy Esconde” os hosts internos (só o endereço do proxy

será visível as redes externas)será visível as redes externas)

cliente

Proxyserver

cliente

http request

http re

quest

http response

http re

sponse

http request

http response

servidororiginal

servidororiginal

Page 28: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

AplicaçõesAplicações

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2828

• Web CachingWeb Caching • armazenamento está “perto” do cliente (ex., na armazenamento está “perto” do cliente (ex., na

mesma rede)mesma rede)• menor tempo de respostamenor tempo de resposta• reduz o tráfego gerado reduz o tráfego gerado Servidores

originais Internetpública

redeinstitucional 10 Mbps LAN

enlace de acesso1.5 Mbps

cache institucional

Page 29: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

AplicaçõesAplicações

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2929

• Proxy/Web CachingProxy/Web Caching • O mais comum é o SQUID Proxy Cache (O mais comum é o SQUID Proxy Cache (

http://www.squid-cache.org/))• Disponível para Linux, FreeBSD e até mesmo Disponível para Linux, FreeBSD e até mesmo

Windows (Windows (http://squid.acmeconsulting.it/))• Existem soluções comercias tais como: MS ISA Existem soluções comercias tais como: MS ISA

ServerServer, , Websense (Websense (http://www.websense.com/))• Existem proxies abertos para burlar filtragens e Existem proxies abertos para burlar filtragens e

possibilitar o acesso a Orkut, Twitter, Pornografia, possibilitar o acesso a Orkut, Twitter, Pornografia, Jogos e etc. Jogos e etc.

Page 30: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

SegurançaSegurança

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 3030

• Ataques mais comuns ao WWW :Ataques mais comuns ao WWW :• Captura de tráfego sem criptografiaCaptura de tráfego sem criptografia

• Usuário e senhas de webmail são os alvos Usuário e senhas de webmail são os alvos preferidospreferidos

• Negação de serviço (Negação de serviço (Denial of ServiceDenial of Service))• Gerar um grande número de requisições, causando Gerar um grande número de requisições, causando

sobrecarga no servidor sobrecarga no servidor • Internet Denial-of-Service Considerations (Internet Denial-of-Service Considerations (

http://tools.ietf.org/html/rfc4732))

• Exploração de vulnerabilidades nas aplicaçõesExploração de vulnerabilidades nas aplicações• Falhas nas aplicações dinâmicas que interagem com Falhas nas aplicações dinâmicas que interagem com

banco de dados e com o sistema operacionalbanco de dados e com o sistema operacional• Principalmente, nas aplicações que utilizam a Principalmente, nas aplicações que utilizam a

linguagem PHPlinguagem PHP• O problema está no desenvolvedor, não na O problema está no desenvolvedor, não na

linguagem!linguagem!

http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

Page 31: HTTP (HyperText Transfer Protocol) Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Unidade curricular Redes

Referências BibliográficasReferências Bibliográficas

Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 3131

• HTTP (W3C) - http://www.w3.org/Protocols/HTTP (W3C) - http://www.w3.org/Protocols/• Protocolo Gopher - Protocolo Gopher -

http://en.wikipedia.org/wiki/Gopher_http://en.wikipedia.org/wiki/Gopher_%28protocol%29%28protocol%29

• TLS - TLS - http://en.wikipedia.org/wiki/Transport_Layer_Shttp://en.wikipedia.org/wiki/Transport_Layer_Securityecurity

• MIME - http://en.wikipedia.org/wiki/MIMEMIME - http://en.wikipedia.org/wiki/MIME• GOURLEY, David et. al. HTTP: The Definitive GOURLEY, David et. al. HTTP: The Definitive

Guide. O´Reilly, 2002Guide. O´Reilly, 2002