SlideShare una empresa de Scribd logo
1 de 35
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 fio.
• Objetivo: Construir uma aplicação que os
clientes ao redor do mundo possam acessar
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
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.
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.
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.
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
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
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.
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
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)
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)
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
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;
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
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!!!!
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 solicitação, tipo de conteúdo do corpo
Corpo: conteúdo que o browser exibirá
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.
URL
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
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.
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
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.
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.
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?
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.
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.
CGI
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
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.
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;
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.
CONTAINER

Más contenido relacionado

La actualidad más candente

Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Sérgio Souza Costa
 
Hardware
HardwareHardware
Hardware
leiladb
 
Informática básica internet
Informática básica internetInformática básica internet
Informática básica internet
Matheus França
 
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Henrique Nunweiler
 

La actualidad más candente (20)

Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Curso de Básico de Excel 2013 - Parte I
Curso de Básico de Excel  2013 - Parte ICurso de Básico de Excel  2013 - Parte I
Curso de Básico de Excel 2013 - Parte I
 
Hardware
HardwareHardware
Hardware
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Aula de hardware
Aula de hardwareAula de hardware
Aula de hardware
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
 
Atividade EaD - Plano de ensino de redes de computadores
Atividade EaD - Plano de ensino de redes de computadoresAtividade EaD - Plano de ensino de redes de computadores
Atividade EaD - Plano de ensino de redes de computadores
 
Informática básica internet
Informática básica internetInformática básica internet
Informática básica internet
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Informática Básica - Aula 03 - Hardware
Informática Básica - Aula 03 - HardwareInformática Básica - Aula 03 - Hardware
Informática Básica - Aula 03 - Hardware
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10
 
Aula - Internet
Aula - InternetAula - Internet
Aula - Internet
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Introdução ao editor de texto Word
Introdução ao editor de texto WordIntrodução ao editor de texto Word
Introdução ao editor de texto Word
 
Vantagens__Desvantagens_Tipos_de_servidores
Vantagens__Desvantagens_Tipos_de_servidoresVantagens__Desvantagens_Tipos_de_servidores
Vantagens__Desvantagens_Tipos_de_servidores
 
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de Dados
 

Similar a Aplicações web parte 1

4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
RubenManhia
 
Linguagem PHP para principiantes
Linguagem PHP para principiantesLinguagem PHP para principiantes
Linguagem PHP para principiantes
Marco Pinheiro
 

Similar a Aplicações web parte 1 (20)

Aula03 - protocolo http
Aula03 -  protocolo httpAula03 -  protocolo http
Aula03 - protocolo http
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
Desenvolvemos para web?
Desenvolvemos para web?Desenvolvemos para web?
Desenvolvemos para web?
 
2016-redes-E.pptx
2016-redes-E.pptx2016-redes-E.pptx
2016-redes-E.pptx
 
O get and post para etico hacker
O get and post para etico hackerO get and post para etico hacker
O get and post para etico hacker
 
Aula01
Aula01Aula01
Aula01
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1
 
Te aula1
Te aula1Te aula1
Te aula1
 
Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de Sistemas
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
 
Melhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMelhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação Web
 
Web service
Web serviceWeb service
Web service
 
Servidor web
Servidor webServidor web
Servidor web
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
 
Linguagem PHP para principiantes
Linguagem PHP para principiantesLinguagem PHP para principiantes
Linguagem PHP para principiantes
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8
 

Más de Elaine Cecília Gatto

Más de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Último

421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
LeloIurk1
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
LeloIurk1
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 

Último (20)

Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Antero de Quental, sua vida e sua escrita
Antero de Quental, sua vida e sua escritaAntero de Quental, sua vida e sua escrita
Antero de Quental, sua vida e sua escrita
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptxProjeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 

Aplicações web parte 1

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Anatomia de uma solicitação HTTP GET
  • 18. Anatomia de uma solicitação HTTP POST Corpo da mensagem: são os dados a serem enviados de volta ao servidor.
  • 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. 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. URL
  • 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. 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. Exemplo de estrutura de diretórios de um servidor
  • 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. 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. 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. 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. 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. CGI
  • 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. 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. 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. 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.