SlideShare una empresa de Scribd logo
1 de 79
Descargar para leer sin conexión
Comunicação
Cliente/Servidor
  Willian Massami Watanabe



             1
Objetivo

Analisar o protocolo HTTP e a comunicação
            com o servidor web




                    2
Sumário

• Conteúdos estáticos e dinâmicos
• Arquitetura Cliente/Servidor
• HTTP, HTML e os Navegadores web


                  3
Conteúdos estáticos e
     dinâmicos


          4
Conteúdos estáticos e
      dinâmicos

HTML




           5
Conteúdos estáticos e
      dinâmicos

HTML



       CSS



             6
Conteúdos estáticos e
       dinâmicos

HTML



JavaScript   CSS



                   7
Conteúdos estáticos e
       dinâmicos

HTML



JavaScript   CSS
                       Servidor web


                   8
Conteúdos estáticos e
     dinâmicos
              HTML



              JavaScript   CSS

              Servidor web


          9
Conteúdos estáticos e
         dinâmicos
                   HTML



                   JavaScript   CSS
Usuários
                   Servidor web


              10
Conteúdos estáticos e
        dinâmicos
   Quero uma página
                                HTML
 URL: http:abobrinha.com



                                JavaScript   CSS

                                Servidor web
Usuários

                           11
Conteúdos estáticos e
        dinâmicos
                      HTML



                      JavaScript   CSS

           Browser    Servidor web
Usuários

                 12
Conteúdos estáticos e
   Quero uma página
                dinâmicos
URL: http://abobrinha.com


                      HTML



                      JavaScript   CSS

           Browser    Servidor web
Usuários

                 13
Conteúdos estáticos e
        dinâmicos
                 Resposta com os códigos
                     HTML, CSS e JS




           Browser      Servidor web
Usuários

                 14
Conteúdos estáticos e
        dinâmicos
           Obrigado




                Browser    Servidor web
Usuários

                      15
Conteúdos estáticos e
     dinâmicos

Cenário de uso de conteúdo estático




                 16
Conteúdos estáticos e
       dinâmicos

HTML



JavaScript   CSS
                        Servidor web


                   17
Conteúdos estáticos e
     dinâmicos


 Aplicação

                  Servidor web


             18
Conteúdos estáticos e
     dinâmicos


                 Aplicação


               Servidor web


          19
Conteúdos estáticos e
                dinâmicos
   Quero uma página
URL: http://abobrinha.com




                        Aplicação


           Browser    Servidor web
Usuários

                 20
Conteúdos estáticos e
       dinâmicos
           Resposta com os códigos HTML, CSS e JS
                 gerados pela aplicação


                                    Aplicação


                Browser         Servidor web
Usuários

                         21
Conteúdos estáticos e
     dinâmicos

Cenário de uso de conteúdo dinâmico




                 22
Cenário de uso de conteúdo dinâmico
                 23
Cenário de uso de conteúdo dinâmico
                 23
Cenário de uso de conteúdo dinâmico
                 23
Cenário de uso de conteúdo dinâmico
                 23
Cenário de uso de conteúdo dinâmico
                 23
Cenário de uso de conteúdo dinâmico
                 23
Conteúdos estáticos e
     dinâmicos




          24
Conteúdos estáticos e
     dinâmicos




          24
Conteúdos estáticos e
       dinâmicos
    Quero uma página
 URL: http://google.com?q=abobrinha




                                      Aplicação


              Browser          Servidor web
Usuários
                      25
Conteúdos estáticos e
       dinâmicos
    Quero uma página
 URL: http://google.com?q=abobrinha




                                      Aplicação


              Browser          Servidor web
Usuários
                      25
Conteúdos estáticos e
        dinâmicos
        Processa em seu banco de
     dados uma busca por elementos
           relacionados a abobrinha




                                Aplicação


            Browser          Servidor web
Usuários
                   26
Conteúdos estáticos e
        dinâmicos
        Processa em seu banco de
     dados uma busca por elementos
           relacionados a abobrinha




                                Aplicação


            Browser          Servidor web
Usuários
                   26
Conteúdos estáticos e
      dinâmicos
           Resposta com os códigos HTML, CSS e JS
                 gerados pela aplicação


                                    Aplicação


                Browser         Servidor web
Usuários
                       27
Conteúdos estáticos e
      dinâmicos
           Resposta com os códigos HTML, CSS e JS
                 gerados pela aplicação


                                    Aplicação


                Browser         Servidor web
Usuários
                       27
Conteúdos estáticos e
     dinâmicos
• Vantagens do conteúdo estático
 • mais rápido visto que não exige
    processamento no servidor
 • possui políticas de cache mais agressivas
 • compatível com qualquer servidor

                     28
Conteúdos estáticos e
     dinâmicos
• Vantagens do conteúdo dinâmico
 • permite que os conteúdos sejam
    atualizados mais rapidamente
 • permite que o conteúdo se adeque ao
    perfil do usuário



                       29
Conteúdos estáticos e
      dinâmicos



                       Aplicação


           Browser   Servidor web
Usuários
                30
Conteúdos estáticos e
      dinâmicos



                       Aplicação


           Browser   Servidor web
Usuários
                31
Conteúdos estáticos e
        dinâmicos
Quais linguagens de programacão pode ser utilizadas
        para desenvolver a aplicação referida?



                                          Aplicação
           Pergunta pegadinha ha
                        32
Conteúdos estáticos e
        dinâmicos
Quais linguagens de programacão pode ser utilizadas
        para desenvolver a aplicação referida?

TODAS que forem suportadas
   pelo seu servidor web
                                          Aplicação


                        33
Conteúdos estáticos e
        dinâmicos
Quais linguagens de programacão pode ser utilizadas
        para desenvolver a aplicação referida?

TODAS que forem suportadas
   pelo seu servidor web
                                           Aplicação
    Existe uma ampla variedade de servidores web
                         34
Arquitetura Cliente/
     Servidor


         35
Arquitetura Cliente/
         Servidor


                       Aplicação


           Browser   Servidor web
Usuários

                36
Arquitetura Cliente/Servidor
                    Rede


  HTML

                             Aplicação
 JavaScript   CSS
      Browser              Servidor web

                     37
Arquitetura Cliente/Servidor
                    Rede


  HTML

                           Aplicação
 JavaScript   CSS
      Cliente              Servidor

                     38
Arquitetura Cliente/Servidor

   • Arquitetura Distribuída de Cliente/Servidor
    • Cliente: considera as partes da
       aplicação que são executadas dentro do
       navegador
    • Servidor: considera as partes da
       aplicação que são executadas no servidor


                        39
HTTP, HTML e
Navegadores Web


       40
HTTP, HTML e
       Navegadores Web
                   Rede


HTML

                          Aplicação
JavaScript   CSS
     Cliente              Servidor

                    41
HTTP, HTML e
    Navegadores Web
                              Rede
Como funciona a comunicação
  entre Cliente/Servidor?




                    42
HTTP, HTML e
       Navegadores Web
                                      Rede
 Como funciona a comunicação
   entre Cliente/Servidor?


HTTP - HyperText Transport Protocol



                         43
HTTP, HTML e
   Navegadores Web
• HTTP
 • HyperText Transfer Protocol
 • Padrão utilizado na www - World Wide
    Web
 • Utiliza IP/TCP, atuando no nível da
    aplicação (Modelo OSI)
 • Utilizado para transmitir Recursos (URL -
    Unified Resources Location)
                     44
HTTP, HTML e
        Navegadores Web
> GET / HTTP/1.1
> User-Agent: curl/7.27.0
                                 Requisição HTTP
> Host: www.google.com
> Accept: */*




                            45
HTTP, HTML e
        Navegadores Web
> GET / HTTP/1.1
> User-Agent: curl/7.27.0
                                 Requisição HTTP
> Host: www.google.com
> Accept: */*

< HTTP/1.1 302 Found
< Location: http://www.google.com.br/
< Cache-Control: private
< Content-Type: text/html; charset=UTF-8
                            46
HTTP, HTML e
        Navegadores Web
> GET / HTTP/1.1
> User-Agent: curl/7.27.0
                                 Requisição HTTP
> Host: www.google.com
> Accept: */*

< HTTP/1.1 302 Found
< Location: http://www.google.com.br/
                                Resposta HTTP
< Cache-Control: private
< Content-Type: text/html; charset=UTF-8
                            47
HTTP, HTML e
   Navegadores Web
< HTTP/1.1 302 Found
< Location: http://www.google.com.br/
< Cache-Control: private
< Content-Type: text/html; charset=UTF-8

                        Status da Resposta
                              HTTP

                   48
HTTP, HTML e
    Navegadores Web
• Tipos de Status
 • 1xx indica uma mensagem informacional
 • 2xx indica sucesso na transação
 • 3xx redireciona o cliente para outra URL
 • 4xx indica um erro por parte do cliente
 • 5xx indica um erro por parte do servidor
                    49
HTTP, HTML e
         Navegadores Web

      Completa especificação dos possíveis estados:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html




                          50
HTTP, HTML e
        Navegadores Web
> GET / HTTP/1.1
> User-Agent: curl/7.27.0        Cabeçalhos da
> Host: www.google.com             requisição
> Accept: */*

< HTTP/1.1 302 Found
< Location: http://www.google.com.br/
< Cache-Control: private
< Content-Type: text/html; charset=UTF-8
                            51
HTTP, HTML e
        Navegadores Web
> GET / HTTP/1.1
> User-Agent: curl/7.27.0        Cabeçalhos da
> Host: www.google.com             resposta
> Accept: */*

< HTTP/1.1 302 Found
< Location: http://www.google.com.br/
< Cache-Control: private
< Content-Type: text/html; charset=UTF-8
                            52
HTTP, HTML e
        Navegadores Web
> GET / HTTP/1.1
> User-Agent: curl/7.27.0        Tipos de requisição
> Host: www.google.com                 HTTP
> Accept: */*

< HTTP/1.1 302 Found
< Location: http://www.google.com.br/
< Cache-Control: private
< Content-Type: text/html; charset=UTF-8
                            53
HTTP, HTML e
   Navegadores Web
• GET           Tipos de requisição
                      HTTP
• POST
• DELETE
• PUT
• HEAD
           54
HTTP, HTML e
       Navegadores Web
                            Tipos de requisição
                                  HTTP

   • Envio de parâmetros para transação em
      formato x-www-urlencoded


http://www.google.com?q=alguma_coisa_para_buscar

                       55
HTTP, HTML e
        Navegadores Web
> GET /?q=abobrinha HTTP/1.1
> User-Agent: curl/7.27.0
> Host: google.com
> Accept: */*




                       56
HTTP, HTML e
        Navegadores Web
> GET /?q=abobrinha HTTP/1.1
> User-Agent: curl/7.27.0
> Host: google.com
> Accept: */*
                               <?php
                               echo $_GET[‘q’];
                               ?>

                               Servidor web
                       57
HTTP, HTML e
   Navegadores Web
• GET => parâmetros na URL
• POST => parâmetros no corpo
• DELETE => parâmetros na URL
• PUT => parâmetros no corpo
• HEAD => parâmetros na URL
                           Freqüentemente
                  58
HTTP, HTML e
    Navegadores Web
• GET => parâmetros na URL
• POST => parâmetros no corpo
• DELETE => parâmetros na URL
• PUT => parâmetros no corpo
• HEAD => parâmetros na URL
Únicos métodos aceitos no navegador
                  59
HTTP, HTML e
    Navegadores Web
• Método GET
 • Utilizado para enviar parâmetros de
    busca e leitura ao servidor
 • Os dados são enviados na URL seguindo
    o formato da query string
HTTP, HTML e
    Navegadores Web
• Método POST
 • Utilizado para enviar parâmetros de
    escrita ao servidor
 • Os dados são enviados no corpo da
    requisição HTTP seguindo o formato da
    query string
HTTP, HTML e
    Navegadores Web
• Método HEAD
 • Utilizado para pesquisar meta-dados de
    recursos disponíveis em URLs
 • Por exemplo: utilizado para fazer a
    verificação se um arquivo em cache foi
    alterado no servidor.
HTTP, HTML e
Navegadores Web

Como o navegador utiliza o HTTP?
HTTP, HTML e
         Navegadores Web
Como o navegador utiliza o HTTP?

<a href=”http://www.google.com?
q=abobrinha”>procurar abobrinha</a>

                > GET /?q=abobrinha HTTP/1.1
                > User-Agent: curl/7.27.0
                > Host: google.com
                > Accept: */*
HTTP, HTML e
         Navegadores Web
Como o navegador utiliza o HTTP?

<a href=”/?q=abobrinha”>procurar
abobrinha</a>

                 > GET /?q=abobrinha HTTP/1.1
                 > User-Agent: curl/7.27.0
                 > Host: dominio.alegre.com
                 > Accept: */*
utilizando um endereço relativo
HTTP, HTML e
        Navegadores Web
<form method=”GET” action=”http://google.com”>
Como o navegador utiliza o HTTP?
   <label for=”q”>Procurar:</label>
   <input type=”text” id=”q” name=”q”></input>
   <input type=”submit” value=“submit”></input>
</form>
                  > GET /?q=abobrinha HTTP/1.1
                  > User-Agent: curl/7.27.0
                  > Host: google.com
                  > Accept: */*
HTTP, HTML e
        Navegadores Web
<form method=”POST” action=”http://google.com”>
 Como o navegador utiliza o HTTP?
   <label for=”q”>Procurar:</label>
   <input type=”text” id=”q” name=”q”></input>
   <input type=”submit” value=“submit”></input>
</form>
                  > POST / HTTP/1.1
                  > User-Agent: curl/7.27.0
                  > Host: google.com
                  > Accept: */*
                  q=abobrinha
HTTP, HTML e
          Navegadores Web
Como o navegador utiliza o HTTP?

<img src=”figura_legal.png” alt= “super legal”></img>
<link rel="stylesheet" href="master.css" type="text/css"
media="screen" charset="utf-8" />
<script type=“text/javascript” src=“jquery.js” />
HTTP, HTML e
        Navegadores Web
Como o navegador utiliza o HTTP?


  Também existem outras formas de realizar essas
  requisições utilizando JavaScript e a linguagem de
          programação do lado do servidor
Dúvidas ?

Más contenido relacionado

La actualidad más candente

html, css e java script - renato araujo
html, css e java script - renato araujohtml, css e java script - renato araujo
html, css e java script - renato araujoorenatoaraujo
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadoresAron Sporkens
 
Introdução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento WebIntrodução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento WebAnderson Luís Furlan
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linuxguest82cc1d
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Windows server , curso completo
Windows server , curso completoWindows server , curso completo
Windows server , curso completoPessoal
 
Conscientização sobre a Segurança da Informação
Conscientização sobre a Segurança da InformaçãoConscientização sobre a Segurança da Informação
Conscientização sobre a Segurança da InformaçãoJean Israel B. Feijó
 
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介Kenji Funasaki
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Realidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRealidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRonildo Oliveira
 
Servidores Web
Servidores Web Servidores Web
Servidores Web bastosluis
 
3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IPCleiton Cunha
 

La actualidad más candente (20)

Virtualização
VirtualizaçãoVirtualização
Virtualização
 
html, css e java script - renato araujo
html, css e java script - renato araujohtml, css e java script - renato araujo
html, css e java script - renato araujo
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Introdução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento WebIntrodução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento Web
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
DNS - Aula
DNS - AulaDNS - Aula
DNS - Aula
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Windows server , curso completo
Windows server , curso completoWindows server , curso completo
Windows server , curso completo
 
Conscientização sobre a Segurança da Informação
Conscientização sobre a Segurança da InformaçãoConscientização sobre a Segurança da Informação
Conscientização sobre a Segurança da Informação
 
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
 
Boas Práticas em Segurança da Informação
Boas Práticas em Segurança da InformaçãoBoas Práticas em Segurança da Informação
Boas Práticas em Segurança da Informação
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Servidor WEB
Servidor WEBServidor WEB
Servidor WEB
 
Realidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRealidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em Jogos
 
Servidores Web
Servidores Web Servidores Web
Servidores Web
 
3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP
 
Windows Server 2003
Windows Server 2003Windows Server 2003
Windows Server 2003
 
Programacao para Web I Plano de Ensinodoc
Programacao para Web I Plano de EnsinodocProgramacao para Web I Plano de Ensinodoc
Programacao para Web I Plano de Ensinodoc
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 

Destacado

Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
O que é CMS? Foco no conteúdo e não no lero lero
O que é CMS? Foco no conteúdo e não no lero leroO que é CMS? Foco no conteúdo e não no lero lero
O que é CMS? Foco no conteúdo e não no lero leroThiago Avelino
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoMatheus Nani
 
Redes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e HopfieldRedes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e HopfieldLucas Sabadini
 
Protocolos de comunicação HTTP
Protocolos de comunicação HTTPProtocolos de comunicação HTTP
Protocolos de comunicação HTTPTuesla Santos
 
Gabarito respostas (3)
Gabarito respostas (3)Gabarito respostas (3)
Gabarito respostas (3)Fernanda Goz
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorMarlon CP
 
Aula 1 lógica de programação
Aula 1   lógica de programaçãoAula 1   lógica de programação
Aula 1 lógica de programaçãoInstituto CENTEC
 
Comunicação e Mobilidade
Comunicação e MobilidadeComunicação e Mobilidade
Comunicação e MobilidadeCECULT / UFRB
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidorConcurseira Le
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Valdeir Frizzera
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlAdail Viana Neto
 
Páginas Web Estáticas y Dinámicas
Páginas Web Estáticas y DinámicasPáginas Web Estáticas y Dinámicas
Páginas Web Estáticas y DinámicasPaticoDay
 
Guia para Uso do Catálogo Pergamum
Guia para Uso do Catálogo PergamumGuia para Uso do Catálogo Pergamum
Guia para Uso do Catálogo PergamumBiblioteca UTFPR
 
SMTP POP E IMAP
SMTP POP E IMAPSMTP POP E IMAP
SMTP POP E IMAPjamesfrk
 
Definições E Correlações Dhcp dns smtp e ntp
Definições E Correlações Dhcp dns smtp e ntpDefinições E Correlações Dhcp dns smtp e ntp
Definições E Correlações Dhcp dns smtp e ntpRogleison Rabelo, ITIL ISO
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarCleber Fonseca
 

Destacado (20)

Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
O que é CMS? Foco no conteúdo e não no lero lero
O que é CMS? Foco no conteúdo e não no lero leroO que é CMS? Foco no conteúdo e não no lero lero
O que é CMS? Foco no conteúdo e não no lero lero
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento Varejo
 
Redes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e HopfieldRedes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e Hopfield
 
Protocolos de comunicação HTTP
Protocolos de comunicação HTTPProtocolos de comunicação HTTP
Protocolos de comunicação HTTP
 
Gabarito respostas (3)
Gabarito respostas (3)Gabarito respostas (3)
Gabarito respostas (3)
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidor
 
Aula 1 lógica de programação
Aula 1   lógica de programaçãoAula 1   lógica de programação
Aula 1 lógica de programação
 
Comunicação e Mobilidade
Comunicação e MobilidadeComunicação e Mobilidade
Comunicação e Mobilidade
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidor
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySql
 
Hipnose crosp odonto
Hipnose crosp odontoHipnose crosp odonto
Hipnose crosp odonto
 
Páginas Web Estáticas y Dinámicas
Páginas Web Estáticas y DinámicasPáginas Web Estáticas y Dinámicas
Páginas Web Estáticas y Dinámicas
 
Guia para Uso do Catálogo Pergamum
Guia para Uso do Catálogo PergamumGuia para Uso do Catálogo Pergamum
Guia para Uso do Catálogo Pergamum
 
SMTP POP E IMAP
SMTP POP E IMAPSMTP POP E IMAP
SMTP POP E IMAP
 
Definições E Correlações Dhcp dns smtp e ntp
Definições E Correlações Dhcp dns smtp e ntpDefinições E Correlações Dhcp dns smtp e ntp
Definições E Correlações Dhcp dns smtp e ntp
 
Arquitetura de Sofware
Arquitetura de SofwareArquitetura de Sofware
Arquitetura de Sofware
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
 
Aula2 protocolos
Aula2 protocolosAula2 protocolos
Aula2 protocolos
 

Similar a Comunicação Cliente/Servidor - HTTP

Integração com webservices usando MVC e mágica
Integração com webservices usando MVC e mágicaIntegração com webservices usando MVC e mágica
Integração com webservices usando MVC e mágicaLeocadio Tiné
 
Estação de Controle Multimídia com Interface Web utilizando Sistema Operacion...
Estação de Controle Multimídia com Interface Web utilizando Sistema Operacion...Estação de Controle Multimídia com Interface Web utilizando Sistema Operacion...
Estação de Controle Multimídia com Interface Web utilizando Sistema Operacion...André Curvello
 
Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Amazon Web Services LATAM
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemCloves Moreira Junior
 
Reactive Web | A próxima geração de Web Apps
Reactive Web | A próxima geração de Web AppsReactive Web | A próxima geração de Web Apps
Reactive Web | A próxima geração de Web AppsOutSystems User Group
 
Configr - Your Cloud. Your Rules.
Configr - Your Cloud. Your Rules.Configr - Your Cloud. Your Rules.
Configr - Your Cloud. Your Rules.Configr
 
ASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsAndre Baltieri
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieVivaldo Jose Breternitz
 
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Rodrigo Peleias
 
Django Channels - Aplicações real time com Django
Django Channels - Aplicações real time com DjangoDjango Channels - Aplicações real time com Django
Django Channels - Aplicações real time com DjangoPaula Grangeiro
 
Aplicações Web - um estudo sobre React
Aplicações Web - um estudo sobre ReactAplicações Web - um estudo sobre React
Aplicações Web - um estudo sobre ReactJean Carlo Emer
 

Similar a Comunicação Cliente/Servidor - HTTP (20)

Integração com webservices usando MVC e mágica
Integração com webservices usando MVC e mágicaIntegração com webservices usando MVC e mágica
Integração com webservices usando MVC e mágica
 
Estação de Controle Multimídia com Interface Web utilizando Sistema Operacion...
Estação de Controle Multimídia com Interface Web utilizando Sistema Operacion...Estação de Controle Multimídia com Interface Web utilizando Sistema Operacion...
Estação de Controle Multimídia com Interface Web utilizando Sistema Operacion...
 
Performance na web
Performance na webPerformance na web
Performance na web
 
Servidor web
Servidor webServidor web
Servidor web
 
Aceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamicoAceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamico
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento Web
 
Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS
 
Engenharia Web
Engenharia WebEngenharia Web
Engenharia Web
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvem
 
Reactive Web | A próxima geração de Web Apps
Reactive Web | A próxima geração de Web AppsReactive Web | A próxima geração de Web Apps
Reactive Web | A próxima geração de Web Apps
 
Configr - Your Cloud. Your Rules.
Configr - Your Cloud. Your Rules.Configr - Your Cloud. Your Rules.
Configr - Your Cloud. Your Rules.
 
ASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance Tips
 
Regras e conceitos na criação de páginas Web
Regras e conceitos na criação de páginas WebRegras e conceitos na criação de páginas Web
Regras e conceitos na criação de páginas Web
 
Como um grande sistema REST funciona
Como um grande sistema REST funcionaComo um grande sistema REST funciona
Como um grande sistema REST funciona
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/Mackenzie
 
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
 
Django Channels - Aplicações real time com Django
Django Channels - Aplicações real time com DjangoDjango Channels - Aplicações real time com Django
Django Channels - Aplicações real time com Django
 
Aplicações Web - um estudo sobre React
Aplicações Web - um estudo sobre ReactAplicações Web - um estudo sobre React
Aplicações Web - um estudo sobre React
 
Nokia Web 1- 5 SDK para Série 40
Nokia Web 1- 5 SDK para Série 40Nokia Web 1- 5 SDK para Série 40
Nokia Web 1- 5 SDK para Série 40
 

Más de Willian Watanabe

Más de Willian Watanabe (10)

Introdução ao JavaServer Faces
Introdução ao JavaServer FacesIntrodução ao JavaServer Faces
Introdução ao JavaServer Faces
 
JPA
JPAJPA
JPA
 
MVC na plataforma JEE
MVC na plataforma JEEMVC na plataforma JEE
MVC na plataforma JEE
 
Cookies e Sessions no HTTP
Cookies e Sessions no HTTPCookies e Sessions no HTTP
Cookies e Sessions no HTTP
 
CSS - Pseudo-classes, Seletores e Media-queries
CSS - Pseudo-classes, Seletores e Media-queriesCSS - Pseudo-classes, Seletores e Media-queries
CSS - Pseudo-classes, Seletores e Media-queries
 
CSS - Posicionamento
CSS - PosicionamentoCSS - Posicionamento
CSS - Posicionamento
 
CSS - Modelo de Caixa
CSS - Modelo de CaixaCSS - Modelo de Caixa
CSS - Modelo de Caixa
 
Introdução ao CSS
Introdução ao CSSIntrodução ao CSS
Introdução ao CSS
 
Introdução ao HTML
Introdução ao HTMLIntrodução ao HTML
Introdução ao HTML
 
HTML/HTTP e a Web
HTML/HTTP e a WebHTML/HTTP e a Web
HTML/HTTP e a Web
 

Comunicação Cliente/Servidor - HTTP

  • 2. Objetivo Analisar o protocolo HTTP e a comunicação com o servidor web 2
  • 3. Sumário • Conteúdos estáticos e dinâmicos • Arquitetura Cliente/Servidor • HTTP, HTML e os Navegadores web 3
  • 4. Conteúdos estáticos e dinâmicos 4
  • 5. Conteúdos estáticos e dinâmicos HTML 5
  • 6. Conteúdos estáticos e dinâmicos HTML CSS 6
  • 7. Conteúdos estáticos e dinâmicos HTML JavaScript CSS 7
  • 8. Conteúdos estáticos e dinâmicos HTML JavaScript CSS Servidor web 8
  • 9. Conteúdos estáticos e dinâmicos HTML JavaScript CSS Servidor web 9
  • 10. Conteúdos estáticos e dinâmicos HTML JavaScript CSS Usuários Servidor web 10
  • 11. Conteúdos estáticos e dinâmicos Quero uma página HTML URL: http:abobrinha.com JavaScript CSS Servidor web Usuários 11
  • 12. Conteúdos estáticos e dinâmicos HTML JavaScript CSS Browser Servidor web Usuários 12
  • 13. Conteúdos estáticos e Quero uma página dinâmicos URL: http://abobrinha.com HTML JavaScript CSS Browser Servidor web Usuários 13
  • 14. Conteúdos estáticos e dinâmicos Resposta com os códigos HTML, CSS e JS Browser Servidor web Usuários 14
  • 15. Conteúdos estáticos e dinâmicos Obrigado Browser Servidor web Usuários 15
  • 16. Conteúdos estáticos e dinâmicos Cenário de uso de conteúdo estático 16
  • 17. Conteúdos estáticos e dinâmicos HTML JavaScript CSS Servidor web 17
  • 18. Conteúdos estáticos e dinâmicos Aplicação Servidor web 18
  • 19. Conteúdos estáticos e dinâmicos Aplicação Servidor web 19
  • 20. Conteúdos estáticos e dinâmicos Quero uma página URL: http://abobrinha.com Aplicação Browser Servidor web Usuários 20
  • 21. Conteúdos estáticos e dinâmicos Resposta com os códigos HTML, CSS e JS gerados pela aplicação Aplicação Browser Servidor web Usuários 21
  • 22. Conteúdos estáticos e dinâmicos Cenário de uso de conteúdo dinâmico 22
  • 23. Cenário de uso de conteúdo dinâmico 23
  • 24. Cenário de uso de conteúdo dinâmico 23
  • 25. Cenário de uso de conteúdo dinâmico 23
  • 26. Cenário de uso de conteúdo dinâmico 23
  • 27. Cenário de uso de conteúdo dinâmico 23
  • 28. Cenário de uso de conteúdo dinâmico 23
  • 29. Conteúdos estáticos e dinâmicos 24
  • 30. Conteúdos estáticos e dinâmicos 24
  • 31. Conteúdos estáticos e dinâmicos Quero uma página URL: http://google.com?q=abobrinha Aplicação Browser Servidor web Usuários 25
  • 32. Conteúdos estáticos e dinâmicos Quero uma página URL: http://google.com?q=abobrinha Aplicação Browser Servidor web Usuários 25
  • 33. Conteúdos estáticos e dinâmicos Processa em seu banco de dados uma busca por elementos relacionados a abobrinha Aplicação Browser Servidor web Usuários 26
  • 34. Conteúdos estáticos e dinâmicos Processa em seu banco de dados uma busca por elementos relacionados a abobrinha Aplicação Browser Servidor web Usuários 26
  • 35. Conteúdos estáticos e dinâmicos Resposta com os códigos HTML, CSS e JS gerados pela aplicação Aplicação Browser Servidor web Usuários 27
  • 36. Conteúdos estáticos e dinâmicos Resposta com os códigos HTML, CSS e JS gerados pela aplicação Aplicação Browser Servidor web Usuários 27
  • 37. Conteúdos estáticos e dinâmicos • Vantagens do conteúdo estático • mais rápido visto que não exige processamento no servidor • possui políticas de cache mais agressivas • compatível com qualquer servidor 28
  • 38. Conteúdos estáticos e dinâmicos • Vantagens do conteúdo dinâmico • permite que os conteúdos sejam atualizados mais rapidamente • permite que o conteúdo se adeque ao perfil do usuário 29
  • 39. Conteúdos estáticos e dinâmicos Aplicação Browser Servidor web Usuários 30
  • 40. Conteúdos estáticos e dinâmicos Aplicação Browser Servidor web Usuários 31
  • 41. Conteúdos estáticos e dinâmicos Quais linguagens de programacão pode ser utilizadas para desenvolver a aplicação referida? Aplicação Pergunta pegadinha ha 32
  • 42. Conteúdos estáticos e dinâmicos Quais linguagens de programacão pode ser utilizadas para desenvolver a aplicação referida? TODAS que forem suportadas pelo seu servidor web Aplicação 33
  • 43. Conteúdos estáticos e dinâmicos Quais linguagens de programacão pode ser utilizadas para desenvolver a aplicação referida? TODAS que forem suportadas pelo seu servidor web Aplicação Existe uma ampla variedade de servidores web 34
  • 44. Arquitetura Cliente/ Servidor 35
  • 45. Arquitetura Cliente/ Servidor Aplicação Browser Servidor web Usuários 36
  • 46. Arquitetura Cliente/Servidor Rede HTML Aplicação JavaScript CSS Browser Servidor web 37
  • 47. Arquitetura Cliente/Servidor Rede HTML Aplicação JavaScript CSS Cliente Servidor 38
  • 48. Arquitetura Cliente/Servidor • Arquitetura Distribuída de Cliente/Servidor • Cliente: considera as partes da aplicação que são executadas dentro do navegador • Servidor: considera as partes da aplicação que são executadas no servidor 39
  • 50. HTTP, HTML e Navegadores Web Rede HTML Aplicação JavaScript CSS Cliente Servidor 41
  • 51. HTTP, HTML e Navegadores Web Rede Como funciona a comunicação entre Cliente/Servidor? 42
  • 52. HTTP, HTML e Navegadores Web Rede Como funciona a comunicação entre Cliente/Servidor? HTTP - HyperText Transport Protocol 43
  • 53. HTTP, HTML e Navegadores Web • HTTP • HyperText Transfer Protocol • Padrão utilizado na www - World Wide Web • Utiliza IP/TCP, atuando no nível da aplicação (Modelo OSI) • Utilizado para transmitir Recursos (URL - Unified Resources Location) 44
  • 54. HTTP, HTML e Navegadores Web > GET / HTTP/1.1 > User-Agent: curl/7.27.0 Requisição HTTP > Host: www.google.com > Accept: */* 45
  • 55. HTTP, HTML e Navegadores Web > GET / HTTP/1.1 > User-Agent: curl/7.27.0 Requisição HTTP > Host: www.google.com > Accept: */* < HTTP/1.1 302 Found < Location: http://www.google.com.br/ < Cache-Control: private < Content-Type: text/html; charset=UTF-8 46
  • 56. HTTP, HTML e Navegadores Web > GET / HTTP/1.1 > User-Agent: curl/7.27.0 Requisição HTTP > Host: www.google.com > Accept: */* < HTTP/1.1 302 Found < Location: http://www.google.com.br/ Resposta HTTP < Cache-Control: private < Content-Type: text/html; charset=UTF-8 47
  • 57. HTTP, HTML e Navegadores Web < HTTP/1.1 302 Found < Location: http://www.google.com.br/ < Cache-Control: private < Content-Type: text/html; charset=UTF-8 Status da Resposta HTTP 48
  • 58. HTTP, HTML e Navegadores Web • Tipos de Status • 1xx indica uma mensagem informacional • 2xx indica sucesso na transação • 3xx redireciona o cliente para outra URL • 4xx indica um erro por parte do cliente • 5xx indica um erro por parte do servidor 49
  • 59. HTTP, HTML e Navegadores Web Completa especificação dos possíveis estados: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 50
  • 60. HTTP, HTML e Navegadores Web > GET / HTTP/1.1 > User-Agent: curl/7.27.0 Cabeçalhos da > Host: www.google.com requisição > Accept: */* < HTTP/1.1 302 Found < Location: http://www.google.com.br/ < Cache-Control: private < Content-Type: text/html; charset=UTF-8 51
  • 61. HTTP, HTML e Navegadores Web > GET / HTTP/1.1 > User-Agent: curl/7.27.0 Cabeçalhos da > Host: www.google.com resposta > Accept: */* < HTTP/1.1 302 Found < Location: http://www.google.com.br/ < Cache-Control: private < Content-Type: text/html; charset=UTF-8 52
  • 62. HTTP, HTML e Navegadores Web > GET / HTTP/1.1 > User-Agent: curl/7.27.0 Tipos de requisição > Host: www.google.com HTTP > Accept: */* < HTTP/1.1 302 Found < Location: http://www.google.com.br/ < Cache-Control: private < Content-Type: text/html; charset=UTF-8 53
  • 63. HTTP, HTML e Navegadores Web • GET Tipos de requisição HTTP • POST • DELETE • PUT • HEAD 54
  • 64. HTTP, HTML e Navegadores Web Tipos de requisição HTTP • Envio de parâmetros para transação em formato x-www-urlencoded http://www.google.com?q=alguma_coisa_para_buscar 55
  • 65. HTTP, HTML e Navegadores Web > GET /?q=abobrinha HTTP/1.1 > User-Agent: curl/7.27.0 > Host: google.com > Accept: */* 56
  • 66. HTTP, HTML e Navegadores Web > GET /?q=abobrinha HTTP/1.1 > User-Agent: curl/7.27.0 > Host: google.com > Accept: */* <?php echo $_GET[‘q’]; ?> Servidor web 57
  • 67. HTTP, HTML e Navegadores Web • GET => parâmetros na URL • POST => parâmetros no corpo • DELETE => parâmetros na URL • PUT => parâmetros no corpo • HEAD => parâmetros na URL Freqüentemente 58
  • 68. HTTP, HTML e Navegadores Web • GET => parâmetros na URL • POST => parâmetros no corpo • DELETE => parâmetros na URL • PUT => parâmetros no corpo • HEAD => parâmetros na URL Únicos métodos aceitos no navegador 59
  • 69. HTTP, HTML e Navegadores Web • Método GET • Utilizado para enviar parâmetros de busca e leitura ao servidor • Os dados são enviados na URL seguindo o formato da query string
  • 70. HTTP, HTML e Navegadores Web • Método POST • Utilizado para enviar parâmetros de escrita ao servidor • Os dados são enviados no corpo da requisição HTTP seguindo o formato da query string
  • 71. HTTP, HTML e Navegadores Web • Método HEAD • Utilizado para pesquisar meta-dados de recursos disponíveis em URLs • Por exemplo: utilizado para fazer a verificação se um arquivo em cache foi alterado no servidor.
  • 72. HTTP, HTML e Navegadores Web Como o navegador utiliza o HTTP?
  • 73. HTTP, HTML e Navegadores Web Como o navegador utiliza o HTTP? <a href=”http://www.google.com? q=abobrinha”>procurar abobrinha</a> > GET /?q=abobrinha HTTP/1.1 > User-Agent: curl/7.27.0 > Host: google.com > Accept: */*
  • 74. HTTP, HTML e Navegadores Web Como o navegador utiliza o HTTP? <a href=”/?q=abobrinha”>procurar abobrinha</a> > GET /?q=abobrinha HTTP/1.1 > User-Agent: curl/7.27.0 > Host: dominio.alegre.com > Accept: */* utilizando um endereço relativo
  • 75. HTTP, HTML e Navegadores Web <form method=”GET” action=”http://google.com”> Como o navegador utiliza o HTTP? <label for=”q”>Procurar:</label> <input type=”text” id=”q” name=”q”></input> <input type=”submit” value=“submit”></input> </form> > GET /?q=abobrinha HTTP/1.1 > User-Agent: curl/7.27.0 > Host: google.com > Accept: */*
  • 76. HTTP, HTML e Navegadores Web <form method=”POST” action=”http://google.com”> Como o navegador utiliza o HTTP? <label for=”q”>Procurar:</label> <input type=”text” id=”q” name=”q”></input> <input type=”submit” value=“submit”></input> </form> > POST / HTTP/1.1 > User-Agent: curl/7.27.0 > Host: google.com > Accept: */* q=abobrinha
  • 77. HTTP, HTML e Navegadores Web Como o navegador utiliza o HTTP? <img src=”figura_legal.png” alt= “super legal”></img> <link rel="stylesheet" href="master.css" type="text/css" media="screen" charset="utf-8" /> <script type=“text/javascript” src=“jquery.js” />
  • 78. HTTP, HTML e Navegadores Web Como o navegador utiliza o HTTP? Também existem outras formas de realizar essas requisições utilizando JavaScript e a linguagem de programação do lado do servidor