Programação para WEB
Regis Pires Magalhães
regispiresmag@gmail.com
Arquitetura cliente /
servidor da Web
Arquitetura TCP/IP
Arquitetura TCP/IP
Arquitetura TCP/IP
Arquitetura TCP/IP
Endereço IP
 Identifica unicamente um host da rede.
 Atribuído a cada interface.
200.3.16.1
Portas
 Identificam os processos origem e destino;
 Viabilizam a comunicação fim-a-fim;
 Sistema operacional oferece interface para
especificar e acessar portas.
 Permitem comunicação com diversas aplicações na
mesma máquina.
Protocolo UDP
 Funciona como uma ponte para
o protocolo IP;
 Comunicação sem conexão e
não confiável (entrega não
garantida);
 Análogo ao sistema de correio;
 Mais rápido que TCP;
 Usado em:
 Pequena quantidade de
dados;
 Meios de comunicação
seguros;
 Serviços que podem perder
pequenas porções de
informações.
Protocolo TCP
 Utiliza o conceito de conexão para identificar os dois pontos
envolvidos na comunicação;
 Análogo a uma chamada telefônica;
 Entrega garantida;
 A comunicação é identificada por um par de endpoints.
 Um endpoint é um par na forma:
 Host, Port
 Ex.: (128.9.0.21, 1184) (128.10.2.3,25)
 Endpoints permitem que uma determinada porta possa ser
compartilhada por múltiplas conexões.
Arquitetura TCP/IP
Arquitetura Cliente / Servidor
 Servidor
 Processo que oferece um serviço;
 Aceita uma requisição através da rede,
executa o serviço e retorna o resultado.
 Cliente
 Processo que requisita um serviço;
 Geralmente possui uma interface com o
usuário.
Arquitetura Cliente / Servidor
 Um servidor espera por requisições em
uma porta conhecida, reservada para o
serviço.
 Um cliente aloca uma porta arbitrária
disponível e não reservada.
Socket
 Conjunto de funções para permitir a
utilização do sistema de comunicação por
processos no sistema operacional.
 Socket: Endereço IP + Porta
Comunicação sem conexão
Funções
 socket – inicializa a estrutura de dados do socket,
determinando qual o protocolo (TCP/IP) e o tipo do
serviço (UDP ou TCP).
 bind – associa o socket a uma porta UDP ou TCP.
 sendto – solicita ao sistema de comunicação o envio
de dados, especificando o endereço IP destino, a
porta destino e os dados.
 recvfrom – informa ao sistema de comunicação que
o programa está aguardando dados.
 close – dessasocia a porta do socket e desativa o
socket.
Comunicação com conexão
Comunicação entre Cliente e
Servidor WEB
Cliente WEB
Navegador (Browser)
Servidor WEB
Requisição
Resposta
Página HTML
Papéis
 Servidor Web
 Interpreta requisições HTTP do cliente.
 Devolve resposta HTTP ao cliente.
 Cliente Web
 Envia requisições HTTP ao Servidor Web.
 Processa respostas HTTP recebidas.
URI – Uniform Resource Identifier
 Identificador de Recursos Uniforme
 É uma cadeia de caracteres usada para identificar ou
denominar um recurso na Internet.
 Pode ser classificada como um localizador (URL) ou
um nome (URN), ou ainda como ambos.
 Exemplos:
 URN
urn:isbn:0-486-27557-4
urn:issn:1535-3613
 URL
file:////home/pedro/Desktop/RomeuEJulieta.pdf
http://example.org/absolute/URI/path/to/resource.txt
ftp://example.org/resource.txt
URL – Uniform Resource Locator
 Localizador de Recursos Universal
 Uma URL é uma URI que, além de identificar um
recurso, provê meios de agir sobre, obter e
representar este recurso, descrevendo seu
mecanismo de acesso primário ou a localização na
"rede".
 É o endereço de um recurso disponível em uma rede.
 Estrutura:
protocolo://máquina/caminho/recurso
 Exemplo:
http://www.w3.org/Addressing/URL/uri-spec.html
Protocolo
 É uma convenção ou padrão que controla e
possibilita uma conexão, comunicação ou
transferência de dados entre dois sistemas
computacionais.
 "regras que governam" a sintaxe, semântica e
sincronização da comunicação.
 Podem ser implementados pelo hardware,
software ou por uma combinação dos dois.
Protocolo HTTP
 Hypertext Transfer Protocol (Protocolo de
Transferência de Hipertexto)
 Usado desde 1990.
 Protocolo de comunicação utilizado para transferir
dados por intranets e World Wide Web.
 Normalmente o servidor usa a porta 80.
 Responsável pelo tratamento de pedidos / respostas
entre cliente e servidor Web.
 Forma padronizada de comunicação entre clientes e
servidores da Web.
 Serve para transferência de texto e dados binários.
Protocolo HTTP
 Sem estado (stateless):
 Não existe informações sobre o estado das
conexões;
 Próxima ação independe da anterior;
 Realiza apenas uma ação por vez.
Protocolo HTTP
 Funcionamento:
 o cliente envia uma mensagem de requisição
de um recurso;
 o servidor envia uma mensagem de resposta
ao cliente.
 Composição das mensagens:
 Cabeçalho
 Corpo (opcional em certos casos)
XAMPP
 É um pacote que contém Apache, PHP e MySQL.
 A sigla significa:
 X – Qualquer sistema (Windows, Linux, Mac OS,
Solaris)
 A – Apache – Servidor Web
 M – MySQL – Servidor de Banco de Dados
 P – PHP – Linguagem de Script do lado servidor
 P – Perl – Linguagem de Script do lado servidor
O XAMPP Lite é uma edição reduzida do XAMPP (sem
o FileZilla FTP e Mercury Mail).
Instalação
 Baixar, executar o XAMPP Lite e extraí-lo em
uma pasta de sua escolha:
 xampplite-win32-1.7.0.exe
 Abrir a pasta do XAMPP Lite e executar o
arquivo setup-xampp.bat
Uso
 No diretório do XAMPP Lite, executar o
arquivo:
 xampp-control.exe
 Ativar os servidores Apache e MySQL:

Prog web 00-modelo-cliente_servidor_web

  • 1.
    Programação para WEB RegisPires Magalhães regispiresmag@gmail.com Arquitetura cliente / servidor da Web
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    Endereço IP  Identificaunicamente um host da rede.  Atribuído a cada interface. 200.3.16.1
  • 7.
    Portas  Identificam osprocessos origem e destino;  Viabilizam a comunicação fim-a-fim;  Sistema operacional oferece interface para especificar e acessar portas.  Permitem comunicação com diversas aplicações na mesma máquina.
  • 8.
    Protocolo UDP  Funcionacomo uma ponte para o protocolo IP;  Comunicação sem conexão e não confiável (entrega não garantida);  Análogo ao sistema de correio;  Mais rápido que TCP;  Usado em:  Pequena quantidade de dados;  Meios de comunicação seguros;  Serviços que podem perder pequenas porções de informações.
  • 9.
    Protocolo TCP  Utilizao conceito de conexão para identificar os dois pontos envolvidos na comunicação;  Análogo a uma chamada telefônica;  Entrega garantida;  A comunicação é identificada por um par de endpoints.  Um endpoint é um par na forma:  Host, Port  Ex.: (128.9.0.21, 1184) (128.10.2.3,25)  Endpoints permitem que uma determinada porta possa ser compartilhada por múltiplas conexões.
  • 10.
  • 11.
    Arquitetura Cliente /Servidor  Servidor  Processo que oferece um serviço;  Aceita uma requisição através da rede, executa o serviço e retorna o resultado.  Cliente  Processo que requisita um serviço;  Geralmente possui uma interface com o usuário.
  • 12.
    Arquitetura Cliente /Servidor  Um servidor espera por requisições em uma porta conhecida, reservada para o serviço.  Um cliente aloca uma porta arbitrária disponível e não reservada.
  • 13.
    Socket  Conjunto defunções para permitir a utilização do sistema de comunicação por processos no sistema operacional.  Socket: Endereço IP + Porta
  • 14.
  • 15.
    Funções  socket –inicializa a estrutura de dados do socket, determinando qual o protocolo (TCP/IP) e o tipo do serviço (UDP ou TCP).  bind – associa o socket a uma porta UDP ou TCP.  sendto – solicita ao sistema de comunicação o envio de dados, especificando o endereço IP destino, a porta destino e os dados.  recvfrom – informa ao sistema de comunicação que o programa está aguardando dados.  close – dessasocia a porta do socket e desativa o socket.
  • 16.
  • 17.
    Comunicação entre Clientee Servidor WEB Cliente WEB Navegador (Browser) Servidor WEB Requisição Resposta Página HTML
  • 18.
    Papéis  Servidor Web Interpreta requisições HTTP do cliente.  Devolve resposta HTTP ao cliente.  Cliente Web  Envia requisições HTTP ao Servidor Web.  Processa respostas HTTP recebidas.
  • 19.
    URI – UniformResource Identifier  Identificador de Recursos Uniforme  É uma cadeia de caracteres usada para identificar ou denominar um recurso na Internet.  Pode ser classificada como um localizador (URL) ou um nome (URN), ou ainda como ambos.  Exemplos:  URN urn:isbn:0-486-27557-4 urn:issn:1535-3613  URL file:////home/pedro/Desktop/RomeuEJulieta.pdf http://example.org/absolute/URI/path/to/resource.txt ftp://example.org/resource.txt
  • 20.
    URL – UniformResource Locator  Localizador de Recursos Universal  Uma URL é uma URI que, além de identificar um recurso, provê meios de agir sobre, obter e representar este recurso, descrevendo seu mecanismo de acesso primário ou a localização na "rede".  É o endereço de um recurso disponível em uma rede.  Estrutura: protocolo://máquina/caminho/recurso  Exemplo: http://www.w3.org/Addressing/URL/uri-spec.html
  • 21.
    Protocolo  É umaconvenção ou padrão que controla e possibilita uma conexão, comunicação ou transferência de dados entre dois sistemas computacionais.  "regras que governam" a sintaxe, semântica e sincronização da comunicação.  Podem ser implementados pelo hardware, software ou por uma combinação dos dois.
  • 22.
    Protocolo HTTP  HypertextTransfer Protocol (Protocolo de Transferência de Hipertexto)  Usado desde 1990.  Protocolo de comunicação utilizado para transferir dados por intranets e World Wide Web.  Normalmente o servidor usa a porta 80.  Responsável pelo tratamento de pedidos / respostas entre cliente e servidor Web.  Forma padronizada de comunicação entre clientes e servidores da Web.  Serve para transferência de texto e dados binários.
  • 23.
    Protocolo HTTP  Semestado (stateless):  Não existe informações sobre o estado das conexões;  Próxima ação independe da anterior;  Realiza apenas uma ação por vez.
  • 24.
    Protocolo HTTP  Funcionamento: o cliente envia uma mensagem de requisição de um recurso;  o servidor envia uma mensagem de resposta ao cliente.  Composição das mensagens:  Cabeçalho  Corpo (opcional em certos casos)
  • 25.
    XAMPP  É umpacote que contém Apache, PHP e MySQL.  A sigla significa:  X – Qualquer sistema (Windows, Linux, Mac OS, Solaris)  A – Apache – Servidor Web  M – MySQL – Servidor de Banco de Dados  P – PHP – Linguagem de Script do lado servidor  P – Perl – Linguagem de Script do lado servidor O XAMPP Lite é uma edição reduzida do XAMPP (sem o FileZilla FTP e Mercury Mail).
  • 26.
    Instalação  Baixar, executaro XAMPP Lite e extraí-lo em uma pasta de sua escolha:  xampplite-win32-1.7.0.exe  Abrir a pasta do XAMPP Lite e executar o arquivo setup-xampp.bat
  • 27.
    Uso  No diretóriodo XAMPP Lite, executar o arquivo:  xampp-control.exe  Ativar os servidores Apache e MySQL: