Buscar

Aula_01_Introdução a Web

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando