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

Slides:



Advertisements
Apresentações semelhantes
Como montar um servidor web
Advertisements

Sistemas Distribuídos Baseados na Web
Introdução à Arquitectura de aplicações para a Web
Terceiro Encontro GUG Porto Alegre/Brasil
Redes de Computadores 2 - Camada de Aplicação (HTTP) –
Linux Servidor de Redes WEB Prof. Roberto Amaral.
Cookies e Sessões Mauro César Lopes. Mecanismos para guardar estados entre requisições HTTP HTTP é um protocolo sem estado Uma requisição é independente.
Capítulo 2: Camada de Aplicação
FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 1 Introdução.
Prof. Marco Aurelio N. Esteves
TCP/IP básico e outros protocolos
Sistemas Distribuídos
TCP/IP CAMADA DE APLICAÇÃO SERVIÇOS
Tópicos de Sistemas de Informação A
Desenvolvimento de Projetos e Aplicações Web
Utilitários de Redes Prof. Andréa Chicri Torga Adaptações
Funcionalidades e Protocolos da Camada de Aplicação
Protocolo HTTP e HTML Prof. Danton Cavalcanti Franco Junior
Aplicativos Web Com Orientação a Objetos
Aula 9 - Camada de aplicação
Redes de Computadores Camada de Aplicação.
Introdução ao Desenvolvimento Web
Arquitecturas de extensão do servidor HTTP CGI | ISAPI : ASP, ASP.NET Programação na Internet Secção de Programação ISEL-DEETC-LEIC Luis Falcão -
Hypertext Transport Protocol (HTTP) Programação na Internet Secção de Programação ISEL-DEETC-LEIC Carlos Guedes –
Hypertext Transport Protocol (HTTP)
Arquitecturas de extensão do servidor HTTP Arquitecturas de extensão do servidor HTTP CGI e ISAPI: ASP, ASP.NET Programação na Internet Secção de Sistemas.
Tópicos avançados em internet B Carlos Oberdan Rolim Ciência da Computação.
Tópicos de Sistemas de Informação A
Protocolo HTTP e Web Servers
Hash HTTPS SSL Certificados.
A autoria - II.
Capítulo 2: Camada de Aplicação
Capítulo 2 – Camada de Aplicação
Secure Sockets Layer (SSL) e Transport Layer Security (TLS)
Funcionalidade e Protocolos da Camada de Aplicação
FTP (File Transfer Protocol) Protocolo de Transferencia de Arquivos
Conceitos de J2EE para a WEB
HTTP Hypertext Transfer Protocol.
Protocolo HTTP Protocolo de Transferência de Hipertexto
RESTful Webservices Lucas Batistussi –
Programação WEB Variáveis Globais Get x Post Manipulação de Arquivos
Formulários HTML Jobson Ronan
Faculdade de Tecnologia SENAI de Desenvolvimento Gerencial
Tecnologias Web Prof. Msc. Juliano Gomes Weber Tecnologias Web Notas de Aula – Aula 02 1º Semestre UNIJUÍ.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Igor Vaz Priscilla Dinau. SIP: histórico Desenvolvido em meados da década de 90 pela IETF (Internet Engineering Task Force) MMUSIC Working Group; 1996:
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Davidson Rodrigo Boccardo
Aula 1 - Fundamentos Web Servidor
IIS Web Server.
© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 1 SIP: Session Initiation Protocol [RFC 3261] Visão a longo prazo do SIP: r todas as ligações.
Hypertext Transfer Protocol Equipe: Alan José de Moura Silva Filho (ajmsf) Cyrus Dias da Silva (cds) Dayse Danielle Soares da Rocha(ddsr) Elton Renan Magalhães.
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Requisições e Respostas HTTP Prof. Leandro Luque.
Infra-Estrutura de Comunicação (IF678)
Infra-Estrutura de Comunicação (IF678)
Profª Angela Tissi Tracierra. É uma arquitetura de rede, onde existem dois módulos básicos na rede: o Servidor e os Clientes.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Aula 1 - Fundamentos Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros.
Aula 5 – Formulários GET – POST - REQUEST
Aula 5 – Formulários GET – POST - REQUEST
Segurança em Comércio Eletrônico Comércio tradicional realizado de maneira centralizada cercado de restrições legais Comércio eletrônico realização de.
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Servidor WEB IGOR ALVES. O protocolo HTTP 1990 surgimento da aplicação www Grande quantidade de informação que pode ser acessada por demanda Buscadores.
Curso Superior em Redes de Computadores
Transcrição da apresentação:

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

HTTP (Hypertext Transfer Protocol)

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

Histórico Versão HTTP/1.0 Desenvolvida entre 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 Conexões persistentes Uso de servidors proxy Novos métodos Versão utilizada atualmente

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

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

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

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: From: * uma linha em branco *

Sintaxe do protocolo Resposta HTTP Sintaxe Exemplo HTTP/1.X [ ] { : }+ [ ] HTTP/ 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.

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

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

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

Cabeçalhos MIME Geral: informação não relacionada com a entidade a transferir Date: Tue, 15 Nov :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 :01:26 GMT Cookie:EGSOFT_ID= ; expires=Fri, 31-Dec :00:00 GMT;path=/

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

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

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: Content-type: application/x-www-form-urlencoded Content-length: 150 Host: org=Academic%20Computing%20Services &users=10000 &browsers=lynx &browsers=cello &browsers=mosaic &others=MacMosaic%2C%20WinMosaic Resposta: (incompleta) Content-Type: text/html Query Results You submitted the following name/value pairs: org = Academic Computing Services users = browsers = cello browsers = lynx browsers = xmosaic others = Mac Mosaic, Win Mosaic contact = Michael Grobe

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

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: * a blank line * Resposta: HTTP/ OK Server: Microsoft-IIS/4.0 Date: Tue, 10 Nov :52:11 GMT Content-Type: text/html Accept-Ranges: bytes Last-Modified: Mon, 29 Dec :55:11 GMT ETag: "10e93cccfc13bd1:37f9" Content-Length: 2604

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)

Cookies HTTP Sintaxe do header set-cookie na resposta HTTP Exemplo: Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday, 09-May :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: { = ;}+

HTTPS (Hypertext Transfer Protocol Secure)

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 SSL TCP

Client BrowserWeb Server TCP Connect SSL Connect HTTPS GET transaction HTTPS

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