LINGUAGEM DE
PROGRAMAÇÃO III
APLICAÇÕES WEB
Introdução
• A Web consiste de zilhões de clientes
(navegadores) e servidores, conectados
através de redes sem fio e com f...
O que o seu servidor web faz?
• Um servidor web recebe uma solicitação e
devolve algo para o cliente.
• Um browser permite...
O que o seu servidor web faz?
• Servidor: máquina física (hardware) ou
aplicação de servidor web (software)
• A solicitaçã...
O que o um cliente web faz?
• Um cliente web permite ao usuário fazer
solicitações ao servidor, exibindo para ele o
result...
O que o um cliente web faz?
1. O usuário clica em um link no browser;
2. O browser formata a solicitação e a envia
para o ...
HTML e HTTP
• O HTML informa ao browser como exibir o conteúdo
ao usuário;
• O HTTP é o protocolo que os clientes e os ser...
Exemplo
<html>
<!-- Um exemplo HTML -->
<head><title> Página de Login </title></head>
<body>
<h1> Página de Login </h1>
<f...
TCP/IP
• O HTTP executa no topo do TCP/IP
• TCP: responsável por garantir que um arquivo
enviado de um nó da rede para out...
TCP/IP
• HTTP depende do TCP/IP para obter a
solicitação e a resposta completa de um
lugar para outro.
• A estrutura de um...
Principais elementos de um fluxo de
solicitação
1. Método HTTP (a ação a ser executada)
2. Página que será acessada (URL)
...
Principais elementos de um fluxo de
resposta
1. Código de status (erro, sucesso, etc)
2. Tipo de conteúdo (texto, imagem, ...
MÉTODOS HTTP
• HTTP HEADER INFO: uma respostsa HTTP pode
conter um HTML. O HTTP acrescenta a informação
do HEADER no topo ...
Método GET
• Conseguir um recurso do servidor;
– O usuário clica em um link para uma nova
página;
– O browser envia um HTT...
Método POST
• Com este método você pode solicitar algo do
servidor, e ao mesmo tempo enviar dados ao
servidor;
– O usuário...
Porque usar POST no lugar de GET?
• Com o método GET você também pode enviar
dados para o servidor, entretanto, esta não é...
Anatomia de uma solicitação HTTP
GET
Anatomia de uma solicitação HTTP
POST
Corpo da mensagem: são os dados a serem enviados de volta ao servidor.
Anatomia de uma resposta HTTP
Uma resposta HTTP é composta pelo HEADER e CORPO.
Header: tipo de protocolo, status da solic...
Fluxo Completo
1. O usuário digita uma URL;
2. O browser cria uma solicitação HTTP GET;
3. A solicitação HTTP GET é enviad...
URL
Portas
• Uma porta representa uma conexão lógica para
um determinado software executando no
hardware do servidor.
• HTTP: ...
Portas
• Uma porta TCP é apenas um número de 16 bits que
identifica um software específico no hardware do
servidor.
• Sem ...
Exemplo de estrutura de diretórios de um servidor
Páginas Estatícas
• Uma página estática apenas repousa lá dentro
do diretório.
• O servidor a encontra e a devolve para o
...
Páginas Dinâmicas
• Páginas instantaneas: são páginas criadas
dinamicamente e que não existiam antes da
solicitação.
• Se ...
Páginas Dinâmicas
• Páginas instantâneas não existem antes de ser
feita a solicitação.
• É como fazer uma página HTML de r...
Páginas Dinâmicas
• Precisamos de outra aplicação para poder
processar e salvar esses dados, ou usá-los em
outra página.
•...
CGI
• É o termo NÃO-JAVA para uma aplicação
assistente que executa no servidor.
• COMMON GATEWAY INTERFACE ou
interface de...
CGI
Servlet
• É a aplicação assistente da aplicação do servidor,
assim como o CGI;
• Proporciona ao desenvolvedor a possibilid...
JSP
• Desenvolvedores de aplicação conhecem
JAVA.
• Designers de páginas conhecem HTML.
• No JSP: desenvolvedores JAVA faz...
CONTAINER
• É responsável por:
– Instar o servlet;
– Criar uma nova thread para tratar a
solicitação;
– Chamar o método do...
CONTAINER
• Servlets não possuem um método main()
• Estão sob controle de outra aplicação (o container);
• Quando sua apli...
CONTAINER
Upcoming SlideShare
Loading in …5
×

Aplicações web parte 1

355 views
259 views

Published on

Aplicações web parte 1

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
355
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Aplicações web parte 1

  1. 1. LINGUAGEM DE PROGRAMAÇÃO III APLICAÇÕES WEB
  2. 2. Introdução • A Web consiste de zilhões de clientes (navegadores) e servidores, conectados através de redes sem fio e com fio. • Objetivo: Construir uma aplicação que os clientes ao redor do mundo possam acessar
  3. 3. O que o seu servidor web faz? • Um servidor web recebe uma solicitação e devolve algo para o cliente. • Um browser permite ao usuário solicitar um recurso (pagina html, figura, som, pdf, etc.) • O servidor pega a solicitação, encontra o recurso e retorna com algo para o usuário. • 404 not found: resposta que o servidor envia quando não consegue encontrar o recurso solicitado pelo cliente
  4. 4. O que o seu servidor web faz? • Servidor: máquina física (hardware) ou aplicação de servidor web (software) • A solicitação do cliente contém o nome e endereço daquilo que o cliente está procurando. • A resposta do servidor contém o documento verdadeiro que o cliente solicitou, ou um código de erro.
  5. 5. O que o um cliente web faz? • Um cliente web permite ao usuário fazer solicitações ao servidor, exibindo para ele o resultado do pedido. • Clientes: usuário e browser (pode ser um ou outro, ou então, os dois ao mesmo tempo). O cliente é o browser fazendo aquilo que o usuário solicitou. • Browser: software que sabe se comunicar com o servidor.
  6. 6. O que o um cliente web faz? 1. O usuário clica em um link no browser; 2. O browser formata a solicitação e a envia para o servidor; 3. O servidor encontra a página solicitada; 4. O servidor formata a resposta e a envia para o cliente; 5. O browser consegue o html e o traduz em formato visual para o usuário.
  7. 7. HTML e HTTP • O HTML informa ao browser como exibir o conteúdo ao usuário; • O HTTP é o protocolo que os clientes e os servidores usam para se comunicarem; • O servidor usa o HTTP para enviar o HTML ao cliente. • O cliente envia uma solicitação HTTP e o servidor retorna uma resposta HTTP. • HTTP: protocolo de transferência de hipertexto
  8. 8. Exemplo <html> <!-- Um exemplo HTML --> <head><title> Página de Login </title></head> <body> <h1> Página de Login </h1> <form action=“date2”> Login: <input type=“text” name=“param1”> Senha: <input type=“password” name=“param2”> </form> <body> </html> COMENTÁRIO EM HTML FORMULÁRIO PARA SUBMISSÃO DO LOGIN E SENHA
  9. 9. TCP/IP • O HTTP executa no topo do TCP/IP • TCP: responsável por garantir que um arquivo enviado de um nó da rede para outro chegue íntegro ao seu destino, ainda que o arquivo esteja dividido em blocos no momento do envio. • IP: protocolo de sustentação que transfere/roteia os blocos (pacotes) de um host para o outro no seu caminho até o destino.
  10. 10. TCP/IP • HTTP depende do TCP/IP para obter a solicitação e a resposta completa de um lugar para outro. • A estrutura de uma conversa HTTP é uma sequencia simples de SOLICITAÇÃO - RESPOSTA, em que um browser solicita e um servidor responde
  11. 11. Principais elementos de um fluxo de solicitação 1. Método HTTP (a ação a ser executada) 2. Página que será acessada (URL) 3. Parâmetros do formulário (como argumentos para um método)
  12. 12. Principais elementos de um fluxo de resposta 1. Código de status (erro, sucesso, etc) 2. Tipo de conteúdo (texto, imagem, etc) 3. Conteúdo em si (a imagem em si, o html real, etc)
  13. 13. MÉTODOS HTTP • HTTP HEADER INFO: uma respostsa HTTP pode conter um HTML. O HTTP acrescenta a informação do HEADER no topo de qualquer que seja o conteúdo da resposta. O browser usa essa informação para o processamento do HTML. • O nome do método HTTP informa ao servidor o tipo de soliciação que está sendo feita e como o resto da mensagem será formatada. • Método GET: é uma solicitação simples • Método POST: pode enviar dados do usuário
  14. 14. Método GET • Conseguir um recurso do servidor; – O usuário clica em um link para uma nova página; – O browser envia um HTTP GET ao servidor, pedindo ao servidor que consiga a página;
  15. 15. Método POST • Com este método você pode solicitar algo do servidor, e ao mesmo tempo enviar dados ao servidor; – O usuário digita emum formulário e clica no botão enviar; – O browser envia um HTTP POST ao servidor passando para o servidor o que usuário digitou no formulário
  16. 16. Porque usar POST no lugar de GET? • Com o método GET você também pode enviar dados para o servidor, entretanto, esta não é uma prática comum, e muito menos segura. • O total de caracteres no GET é limitado, portanto, o GET pode não funcionar se o texto de uma caixa de texto, por exemplo, for extenso; • Os dados que são enviados através do GET são anexados à URL, e fica VISÍVEL na barra de endereços do navegador. Imagine digitar um campo de senha em método GET!!!!
  17. 17. Anatomia de uma solicitação HTTP GET
  18. 18. Anatomia de uma solicitação HTTP POST Corpo da mensagem: são os dados a serem enviados de volta ao servidor.
  19. 19. Anatomia de uma resposta HTTP Uma resposta HTTP é composta pelo HEADER e CORPO. Header: tipo de protocolo, status da solicitação, tipo de conteúdo do corpo Corpo: conteúdo que o browser exibirá
  20. 20. Fluxo Completo 1. O usuário digita uma URL; 2. O browser cria uma solicitação HTTP GET; 3. A solicitação HTTP GET é enviada ao servidor; 4. O servidor encontra a página e gera uma resposta HTTP; 5. A resposta HTTP é enviada ao browser; 6. O browser processa o HTML; 7. O cliente aguarda que sua transação seja realizada com sucesso.
  21. 21. URL
  22. 22. Portas • Uma porta representa uma conexão lógica para um determinado software executando no hardware do servidor. • HTTP: porta 80 • TELNET: porta 23 • FTP: porta 21 • POP3: 110 • SMTP: 25 • TimeServer: porta 37
  23. 23. Portas • Uma porta TCP é apenas um número de 16 bits que identifica um software específico no hardware do servidor. • Sem as portas, o servidor não teria meios de saber a qual aplicação o cliente gostaria de se conectar. • Usando uma aplicação por porta, um servidor pode ter até 65.536 aplicações diferentes executando • Os números de 0 a 1.023 no protocolo HTTP são reservados para serviços já conhecidos. Não use essas portas para suas aplicações.
  24. 24. Exemplo de estrutura de diretórios de um servidor
  25. 25. Páginas Estatícas • Uma página estática apenas repousa lá dentro do diretório. • O servidor a encontra e a devolve para o cliente como está. • Todos os clientes verão a mesma coisa. • Estas páginas vão direto para o cliente, exatamente como elas foram colocadas no servidor.
  26. 26. Páginas Dinâmicas • Páginas instantaneas: são páginas criadas dinamicamente e que não existiam antes da solicitação. • Se quer uma página dinâmica, não pode contar apenas com o servidor. • A aplicação que executa no servidor disponibiliza apenas páginas estáticas. • Outra aplicação assistente, com a qual o servidor pode se comunicar, pode construir páginas dinâmicas.
  27. 27. Páginas Dinâmicas • Páginas instantâneas não existem antes de ser feita a solicitação. • É como fazer uma página HTML de repente. • A solicitação chega, a aplicação assistente escreve o HTML, e o servidor retorna ao cliente. • Quando o usuário envia os dados de um formulário, o servidor analisa os dados e “pensa”: devo me preocupar?
  28. 28. Páginas Dinâmicas • Precisamos de outra aplicação para poder processar e salvar esses dados, ou usá-los em outra página. • Quando o servidor recebe uma solicitação para uma aplicação assistente, ele considera que aqueles parâmetros são destinados à aplicação assistente. • O servidor então passa os parâmetros, fornecendo à aplicação assistente uma forma de gerar uma resposta ao cliente.
  29. 29. CGI • É o termo NÃO-JAVA para uma aplicação assistente que executa no servidor. • COMMON GATEWAY INTERFACE ou interface de passagem comum. • Escrito como scripts PERL, PYTHON, C, PHP, etc.
  30. 30. CGI
  31. 31. Servlet • É a aplicação assistente da aplicação do servidor, assim como o CGI; • Proporciona ao desenvolvedor a possibilidade de adicionar conteúdo dinâmico em um servidor web usando a plataforma Java. • É um componente do servidor; • Pode receber dados em um form HTML por meio de uma requisição HTTP, processar os dados, atualizar a base de dados de uma empresa, e gerar alguma resposta dinamicamente para o cliente que fez a requisição
  32. 32. JSP • Desenvolvedores de aplicação conhecem JAVA. • Designers de páginas conhecem HTML. • No JSP: desenvolvedores JAVA fazem a parte JAVA e os designers as páginas HTML.
  33. 33. CONTAINER • É responsável por: – Instar o servlet; – Criar uma nova thread para tratar a solicitação; – Chamar o método doPost() ou doGet() do servlet; – Levar a solicitação e a resposta para o servlet; – Gerenciar a vida, a morte e os recursos do servlet;
  34. 34. CONTAINER • Servlets não possuem um método main() • Estão sob controle de outra aplicação (o container); • Quando sua aplicação web recebe uma solicitação para um servlet, o servidor entrega a solicitação não ao servlet em si, mas para o container no qual o servlet é distribuído. • É o container quem entrega ao servlet a solicitação e a resposta HTTP, e chama os métodos do servlet.
  35. 35. CONTAINER

×