Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Programação para internet Professor Cayo Fontana Introdução à web e internet Sumário A Internet e a World Wide Web Aplicações Web Arquitetura Cliente / Servidor Protocolo HTTP e Métodos HTTP A Internet e a World Wide Web INTERNET Sistema global de redes de computadores, interligadas, que utilizam o conjunto de protocolos padrão da internet (TCP/IP) para servir vários bilhões de usuários no mundo inteiro Rede Interligada por várias outras redes (106) públicas, privadas, acadêmicas e governamentais World Wide Web Sistema de documentos em hipermídia interligados e executados na Internet Ambiente presente na rede mundial de computadores (internet) onde arquivos digitais estão disponíveis e conectados (“linkados”) através de 3 conceitos: URL – Localizador Uniforme de Recursos HTTP – Protocolo de Transferência de Hipertexto * HTML – Linguagem de Marcação de Hipertexto A Internet e a World Wide Web INTERNET Criada pela ARPANET (Departamento de Defesa do EUA – Pentágono) Objetivo de interligar bases militares e departamentos de pesquisas World Wide Web Criada por Tim Berners Lee (89 / 90) Necessidade de compartilhamento de informações NeXTcube: primeiro servidor web do mundo A Internet e a World Wide Web TCP/IP HTTP Aplicações web Sistemas desenvolvidos à partir de padrões e técnicas computacionais para serem interpretados e executados em um tipo de programa de computador chamado browser (navegador) Atualmente diversos navegadores estão disponíveis pela web, gratuitamente Exemplos Arquitetura cliente / servidor Principais Componentes Navegador (Browser) Servidor Web (Web Server) Rede de computadores – não obrigatório Internet Intranet Arquitetura cliente / servidor Principais Componentes Navegador (Browser) Servidor Web (Web Server) Rede de computadores – não obrigatório Internet Intranet Permite a interatividade entre usuários de dispositivos computacionais e documentos virtuais na internet Como? Hipertextos (desenho de textos ligados) (Não lineares) URL – Localizador unifrome de recursos (Universal Resource Locator) Arquitetura cliente / servidor Principais Componentes Navegador (Browser) Servidor Web (Web Server) Rede de computadores – não obrigatório Internet Intranet URL – Localizador unifrome de recursos (Universal Resource Locator) http://www.catolicasuperior.com.br:80/www/index.html Especificação do protocolo (http – padrão) Endereço do destino na internet (unívoco) Número da Porta (80 – padrão) Diretório do arquivo solicitado Arquivo solicitado 1. 2. 4. 5. 3. Arquitetura cliente / servidor Principais Componentes Navegador (Browser) Servidor Web (Web Server) Rede de computadores – não obrigatório Internet Intranet Permite a interatividade entre usuários de dispositivos computacionais e documentos virtuais na internet Interpretação nativa: Páginas Web Documentos XML Imagens Sons (dependendo da extensão) Interpretação através de plug-ins: Vídeos Flash Aplicações RIA (JavaFX, Silverlight, etc) Arquitetura cliente / servidor Principais Componentes Navegador (Browser) Servidor Web (Web Server) Rede de computadores – não obrigatório Internet Intranet Páginas Web Arquivos eletrônicos que possuem em seu conteúdo informações no formato HTML(5) ou XHTML Podem conter alguma formatação de leiaute (folhas de estilos CSS) Podem possuir alguma dinâmica em suas informações, interativas ou não (Javascript) Arquitetura cliente / servidor Principais Componentes Navegador (Browser) Servidor Web (Web Server) Rede de computadores – não obrigatório Internet Intranet Computador ou Programa de Computador (Hardware + Software/Software) Recebe, processa e envia mensagens HTTP para clientes (navegadores) Request/Response (Requisição/Resposta) Geralmente retorna documentos web (páginas HTML) Arquitetura cliente / servidor Como? Arquitetura cliente / servidor Exemplo Arquitetura cliente / servidor Principais conceitos HTTP – protocolo de nível de aplicação para sistemas de hipermídia, colaborativos e distribuídos, utilizados na comunicação entre cliente e servidor Cliente – solicita acesso, através do protocolo HTTP, a informações de documentos virtuais disponíveis em algum endereço na Web Servidor – dispositivo e/ou programa computacional que disponibiliza informações de documentos virtuais através de requisições oriundas de clientes URL – endereço de rede que identifica, univocamente, um arquivo ou dispositivo local ou remoto HTML – linguagem de marcação (definição de estrutura) de hipertexto que é interpretada e exibida pelos clientes (navegadores) Protocolo HTTP e Métodos HTTP HTTP/1.1 (versão atual) é a base para a comunicação (requisição – resposta) de dados pela Internet HTTP/1.1 é stateless W3C (principal órgão padronizador) e IEFT (comunidade internacional) - RFC 2616 - definição do Hypertext Transfer Protocol (HTTP/1.1) Como? Recurso: TCP/IP URL MIME Types TCP/IP TCP/IP HTTP Protocolo HTTP e Métodos HTTP Cookies Conjunto de bytes (máximo de 4kb) utilizados para comunicação de dados entre o cliente e o servidor Podem ter até 5 campos: Conteúdo, domínio, endereço, data de expiração e conexão segura (HTTPS) FoxitAddonServerBRus-request.foxitservice.com/1536331863168030571295209862525030426456* carrinho1%7B%22produto1%22%3A%7B%22ID_PRODUTO%22%3A%221%22%2C%22ID_VENDEDOR%22%3A%222%22%7D%2C%22produto2%22%3A%7B%22ID_PRODUTO%22%3A%22111%22%2C%22ID_VENDEDOR%22%3A%22222%22%7D%7D127.0.0.1/compras153688736307230435493102255539630429458* Protocolo HTTP e Métodos HTTP Cookies Porque usar? Cookies resolvem o problema da falta de estados do protocolo HTTP (stateless feature) Como? O servidor gera uma estrutura de informações contendo o(s) par(es) atributo=valor, e envia ao cliente O cliente (navegador) armazena estas informações recebidas Estas informações ficam disponíveis na memória do cliente para serem usadas e/ou manipuladas pelo servidor, quando necessário Protocolo HTTP e Métodos HTTP Cookie de Sessão (Transiente) Criados temporariamente na memória virtual do navegador (memória volátil), durante a visita à uma aplicação web Comportando-se como um dado em uma memória volátil, o cookie é removido (perdido) quando o usuário fecha o navegador A geração de um cookie de sessão dá-se pela ausência de uma data de expiração Cookie Persistente Criados fisicamente no computador cliente em um arquivo, num subdiretório da memória secundária (não volátil) O cookie é reativado quando o usuário executa o navegador e acessa um servidor que já tenha fornecido um cookie prévio O período de permanência é definido no conteúdo do cookie Deve-se informar uma data de expiração Protocolo HTTP e Métodos HTTP Vantagens Performance (transação) Independente de recursos de armazenamento Desvantagens Baixa densidade de informações Fácil manipulação externa Controlados pelo usuário Protocolo HTTP e Métodos HTTP Sessões São estruturas de dados formadas por um par chave=valor Gerenciadas pelo servidor web e armazenadas em uma estrutura de dados como uma tabela Hash (mapeamento Hash) Permitem guardar informações de estados de objetos (estruturas de dados) no servidor Utiliza uma chave para identificar o valor definido na sessão * Não utiliza o cliente para o armazenamento de dados Protocolo HTTP e Métodos HTTP Sessões SESSION ID É a chave que identifica o registro de uma sessão de usuário no servidor É formada por um conjunto aleatório de caracteres hexadecimais (na ordem de 25) Session ID é enviada, pelo cliente, para o servidor para que sua sessão seja identificada e seus dados disponibilizados Session TimeOut (prazo limite para expiração) Se não informado, tratamento feito no servidor Protocolo HTTP e Métodos HTTP Sessões MEMÓRIA Sessões são armazenada na memória volátil (memória primária à nível de hardware), mas também podem ser configurados para persistirem informações em um SGDB Ponto de Atenção: Uma grande quantidade de usuários podem utilizar simultaneamente uma aplicação que trabalha com sessão, podendo onerar drasticamente seu desempenho e funcionamento Protocolo HTTP e Métodos HTTP Sessões Cliente Servidor Index.php SESSIONID=8F2j9dSAs... SESSIONID=8F2j9dSAs... SETCOOCKIE(8F2j9dSAs... Cliente Servidor Index.php SID=8F2j9dSAs... Detalhes.php?SID=8F2j9dSAs... Detalhes.php?SID=8F2j9dSAs... SID=8F2j9dSAs... Sessão 8F2j9dSAs... Produto = 785 Quantidade = 3 Usuario = 8771 Sessão 8F2j9dSAs... Produto = 785 Quantidade = 5 Usuario = 8771 Protocolo HTTP e Métodos HTTP Método Descrição GET Solicita um determinado recurso pela Web através de sua URL POST Envia dados para serem processados por algum recurso específico no servidor HEAD Variação do GET quando o recurso não é retornado. Recebemetadadosou parte do recurso PUT Envia um recurso para o servidor DELETE Exclui algum recurso do servidor TRACE Usado para envio de mensagens do tipoloopback(teste) OPTIONS Recupera os métodos HTTP que o servidor aceita. CONNECT Utilizado para fornecer segurança, privacidade e integridade àuma conexão Protocolo HTTP e Métodos HTTP Métodos HTTP Requisição (HTTP) <método HTTP> <URL do recurso solicitado> <versão HTTP> <cabeçalhos formato RFC 822> <dados> Resposta (HTTP) <versão HTTP> <código de status> <informações de status> <cabeçalhos formato RFC822> <dados> Status 1xx Processamento 2xx Sucesso 3xx Redirecionamento 4xx Erro 5xx Protocolo HTTP e Métodos HTTP Método GET Método HTTP utilizado para requisições que não modifique dados (recomendado) Idempotência – independente do número de requisições, não ocorrem alterações Cache (cliente/servidor) Retrições: Suporte a caracteres (apenas) * Tamanho da URI – 2000 caracteres (contestado pela RFC 2616 (Hypertext Transfer Protocol HTTP/1.1) section 3.2.1) Protocolo HTTP e Métodos HTTP Cliente Servidor Exemplo de Request – Response com o método GET HTTP Protocolo HTTP e Métodos HTTP Método GET Requisição (Cliente) http://127.0.0.1/welcome_get.php?name=Jos%C3%A9+Augusto+da+Silva&email=joseaugusto%40gmail.com&estado=ES ? Indica o final da URL e o começo da lista de pares <atributo>=<valor> = Separa os pares: Atributo:identificador da variável no servidor (unívoco) Valor: dado que será atribuído ao atributo Protocolo HTTP e Métodos HTTP Método POST Método HTTP utilizado para envio de dados ocasionando, ou não, modificações Dados são enviados no corpo (body) da requisição HTPP Post – “invisível” Utilização: Grande quantidade de informações Dados binários (arquivos) ou dados não reconhecidos pela ASCII Informações confidenciais (senhas, identificadores, chaves, etc) Acesso à banco de dados Protocolo HTTP e Métodos HTTP HTTP - Cache: GET x POST Protocolo HTTP e Métodos HTTP HTTP: GET x POST GET POST Pequena quantidade de informações Grande quantidade de informações Apenas caracteres ASCII Dados binários, arquivos e caracteres não ASCII Não utilizar caracteres sigilosos Utilizar caracteres sigilosos (segurança) Não acessar banco de dados (qualquer operação) Acessar banco de dados
Compartilhar