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

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

Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.

Apresentações semelhantes


Apresentação em tema: "Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação."— Transcrição da apresentação:

1 Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação

2 HTTP (Hypertext Transfer Protocol)

3 Histórico Panorama do final da década de 80 Grande quantidade de mails Inicio de documentos contendo hyperlinks Versão HTTP/0.9 Em torno de 1990 Transferencia exclusiva de textos Somente possuia método GET

4 Histórico Versão HTTP/1.0 Desenvolvida entre 1992-1996 RFC 1945 Supriu a necessidade de transferir apenas texto Passou a transferir mensagens do tipo MIME44 (Multipurpose Internet Mail Extension) Implementação dos métodos POST e HEAD Versão HTTP/1.1 RFC 2616 publicada em 19999 Conexões persistentes Uso de servidors proxy Novos métodos Versão utilizada atualmente

5 Arquitetura Protocolo de aplicação de uso genérico O pedido é feito em ASCII e a resposta é do tipo MIME (RFC 822 e RFCs 2045, 2046, 2047, 2048, 2049) O protocolo não necessita de manutenção de estado associado aos pedidos dos clientes (stateless) Servidor recebe pedidos em TCP/IP no porto 80 (normalmente) Pedido HTTP (GET …) Resposta MIME servidor

6 Arquitetura Papel do cliente Efetuar as requisições para o servidor seguindo os padrões definidos pelo protocolo Receber a resposta, interpreta-la e apresentar ao usuário Pode implementar mecanismos de cache

7 Arquitetura Papel do servidor Servidor recebe a requisição A configuração do servidor determina se a requisição é a um documento estático ou gerado dinâmicamente por uma aplicação ( por exemplo um CGI) Se for um documento gerado dinamicamente servidor executa a aplicação e recebe a resposta da execução Documentos estáticos podem possuir server side includes Servidor retorna resposta ao cliente juntamente com cabeçalhos de resposta Pode implementar mecanismos de cache

8 Sintaxe do protocolo Pedido HTTP Sintaxe Path absoluto relativamente à raiz do servidor Web, ou URI (URL) absoluto. Exemplo HTTP/1.X { : }+ [ ] GET /index.html HTTP/1.1 Accept: */* (outros exemplos: text/plain; text/html; image/gif ) User-Agent: Mozilla4.0 (compatible; MSIE 5.0; Windows NT 5.0) Host: www.san.uri.br From: ober@san.uri.br * uma linha em branco *

9 Sintaxe do protocolo Resposta HTTP Sintaxe Exemplo HTTP/1.X [ ] { : }+ [ ] HTTP/1.1 200 OK Date: Wednesday, 02-Feb-98 15:04:12 GMT Server: Apache1.3.6 (Unix) (Red Hat Linux) MIME-version: 1.0 Last-modified: Monday, 15-Nov-93 23:33:16 GMT Content-type: text/html Content-length: 2345 * linha em branco *......etc.

10 Métodos HTTP GET obtém dados do recurso especificado POST envia dados ao servidor HEAD solicita apenas o cabeçalho HTTP PUT especifica que o corpo que está sendo enviado é para ser escrito na URL (inverso de GET) Métodos mais utilizados

11 Métodos HTTP DELETE remove um recurso TRACE Usado para testes e diagnósticos CONNECT: Reservado para uso por proxies OPTIONS retorna quais métodos são suportados para um documento no servidor

12 Códigos de resposta do servidor Códigos de retorno 2XX - códigos de OK 3XX - recolocação/redireccionamento 4XX - Erro no cliente 5XX - Erro no servidor Exemplos: 200 OK 201 Criado 204 Sem conteúdo 304 Não modificado 400 Pedido mal formado 401 Não tem autorização 501 Comando não implementado

13 Cabeçalhos MIME Geral: informação não relacionada com a entidade a transferir Date: Tue, 15 Nov 1994 08:12:31 GMT MIME-Version: 1.0 Opções cliente: permite ao cliente passar informações acerca do pedido Accept: */* ou text/plain; text/html; image/gif User-Agent: Lynx/2.2 libwww/2.14 Range: bytes=0-499 If-Modified-Since: Thu, 25 Sep 1997 15:01:26 GMT Cookie:EGSOFT_ID=193.137.220.2-640807376.29152144; expires=Fri, 31-Dec-1997 0:00:00 GMT;path=/

14 Cabeçalhos MIME Resposta: informação sobre o servidor Server: Apache/1.2b7 Content-Range: bytes=0-499/2000 Set-Cookie: EGSOFT_ID=193.137.220.2-640807376.29152144; expires=Fri, 31-Dec-1997 0:00:00 GMT;path=/ Entidade: informação sobre os dados entre cliente e servidor Last-Modified: Thu, 25 Sep 1997 15:01:26 GMT Content-Length: 6575 Content-Type: text/html Expires: Thu, 25 Sep 1997 15:01:26 GMT

15 Método GET Solicita um recurso Corpo sempre vazio Pedido: GET /index.html HTTP/1.1 User-Agent: Mozilla/2.02Gold (WinNT; I...) Host: www.host.com Accept: image/gif, image/x-xbitmap, image/jpeg * a blank line * Resposta: HTTP/1.1 200 Document follows Date: Fri, 20 Sep 1996 08:17:58 GMT Server: NCSA/1.5.2 Last-Modified: Mon, 17 Jun 1996 21:53:08 GMT Content-Type: text/html Content-Length: 2482 * a blank line *... corpo do documento...

16 Método POST O cliente envia dados ao servidor no pedido (no corpo) O conteúdo do pedido é passado à aplicação que processa os dados Pedido: POST /cgi-bin/post-query HTTP/1.1 Accept: */* User-Agent: Lynx/2.2 libwww/2.14 From: grobe@www.cc.ukans.edu Content-type: application/x-www-form-urlencoded Content-length: 150 Host: www.isel.pt org=Academic%20Computing%20Services &users=10000 &browsers=lynx &browsers=cello &browsers=mosaic &others=MacMosaic%2C%20WinMosaic &contact=Michael%20Grobe%20grobe@kuhub.cc.ukans.edu Resposta: (incompleta) Content-Type: text/html Query Results You submitted the following name/value pairs: org = Academic Computing Services users = 10000 browsers = cello browsers = lynx browsers = xmosaic others = Mac Mosaic, Win Mosaic contact = Michael Grobe grobe@kuhub.cc.ukans.edu grobe@kuhub.cc.ukans.edu

17 Método PUT Similar ao POST porém PUT pode apontar para um recurso que não existe ainda (será criado ou reescrito) Usado para publicação de páginas

18 Método HEAD Pede de informações sobre o documento e não o documento em si. Data da última modificação, dimensão, tipo, etc. Corpo sempre vazio Pedido : HEAD /index.html HTTP/1.1 Accept: */* Host: www.host.com * a blank line * Resposta: HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Date: Tue, 10 Nov 1998 16:52:11 GMT Content-Type: text/html Accept-Ranges: bytes Last-Modified: Mon, 29 Dec 1997 01:55:11 GMT ETag: "10e93cccfc13bd1:37f9" Content-Length: 2604

19 Cookies HTTP O que são Cookies? Mecanismo que permite a aplicações HTTP servidoras guardar e obter informações sobre o cliente. Manutenção de informação de estado sobre o cliente. Que informação contém um Cookie Informação sobre o estado do cliente na forma de um par nome=valor Range de URLs para o qual o estado é válido Data de validade (para o caso de Cookies persistentes)

20 Cookies HTTP Sintaxe do header set-cookie na resposta HTTP Exemplo: Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday, 09-May-1999 23:00:00 GMT Sintaxe do header cookie no pedido HTTP Exemplo: Cookie: CUSTOMER=WILE_E_COYOTE Set-Cookie: { = ;}+ [expires= ;] [path= ;] [domain= ;] [secure] Wdy, DD-Mon-YYYY HH:MM:SS GMT Cookie: { = ;}+

21 HTTPS (Hypertext Transfer Protocol Secure)

22 HTTPS Implementação do HTTP sobre uma camada SSL (Secure Sockets Layer) ou TLS (Transport Layer Security) Dados transmitidos de forma criptografada através da negociação de uma chave publica gerada aleatóriamente no inicio da sessão Criptografia ocorre na camada de transporte Porta padrão TCP/443 URLs do tipo: https://

23 HTTPS SSL TCP

24 Client BrowserWeb Server TCP Connect SSL Connect HTTPS GET transaction HTTPS

25 Exercicios Resolver os exercicios contidos no post na página da disciplina


Carregar ppt "Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação."

Apresentações semelhantes


Anúncios Google