A Internet é uma rede global de computadores interligados que
utilizam um conjunto de protocolos padrões para servir vários bilhões
de usuários no mundo inteiro. É uma rede de várias outras redes, que
consiste de milhões de empresas privadas, públicas, acadêmicas e de
governo, com alcance local e global e que está ligada por uma ampla
variedade de tecnologias de rede eletrônica, sem fio e ópticas.
A Internet é muito mais do que o que vemos em nossos navegadores (os
chamados browsers). Esta é a World Wide Web (ou simplesmente web
hoje em dia), e é apenas uma das muitas faces da Internet. Dentro da
Internet temos redes ponto-a-ponto, infraestrutura de apoio à e-mails
e muito mais do que apenas os sites públicos que costumamos acessar
todos os dias.
Programar para a Internet é um desafio muito maior do que criar
softwares que rodam apenas em uma máquina local ou até mesmo
em uma rede privada. Programar para Internet é ter de lidar com
dispositivos heterogêneos, larguras de banda variadas, distâncias
inimagináveis e diversas outras limitações. Mas ao mesmo tempo
programar para a Internet lhe dá um alcance, um poder, muito maior do
que visto nas disciplinas mais tradicionais de programação.
Em linhas gerais, esta disciplina irá trabalhar as competências e
tecnologias necessárias para se programar sistemas para Internet, mais
especificamente para a web, ou Internet comercial, essa que usamos
tradicionalmente em nossos computadores e celulares, mas focando
mais nos primeiros.
A tabela comparativa abaixo cita algumas vantagens e desvantagens em
relação à programação tradicional para uma máquina desktop, que foi
vista em disciplinas anteriores. Estes são fatos gerais, embora existam
casos em que podemos criar sistemas para a Internet arrastando e
soltando componentes, ou que podemos publicar um software desktop
de maneira remota. É apenas para termos alguma ideia das diferenças
gerais entre eles.
COMO FUNCIONA UM SISTEMA WEB?
Em linhas gerais temos o seguinte fluxo do lado do usuário:
- O usuário abre seu computador com um navegador de Internet e
uma conexão com um provedor de Internet (geralmente uma linha
telefônica).
- O usuário digita uma URL contendo o domínio de Internet (também
chamado de domínio público ou “endereço do site”) do sistema.
- Com este domínio em mãos, seu computador envia uma requisição para o servidor DNS do seu provedor de Internet (ISP) visando que
ele lhe diga o endereço IP do servidor onde está aquele conteúdo. Os
domínios públicos são para facilitar e organizar o acesso à Internet, mas
na verdade, precisamos do endereço IP para acessar qualquer coisa na
Internet.
- Caso o ISP já saiba qual o IP associado àquele endereço ele lhe retorna
diretamente, caso contrário terá de perguntar a um servidor de DNS
“mais alto” na hierarquia, sendo que as extensões dos domínios
orientam os servidores DNS neste sentido.
- Com o IP em mãos, seu computador vai enviar uma requisição HTTP,
o protocolo de transferência de hipertexto dizendo, entre outras
informações, o endereço IP do servidor onde está o site e o arquivo que
deseja acessar naquele servidor (geralmente uma tela do sistema).
- Quando a requisição chega ao servidor será avaliada o tipo de
requisição realizado, pois podemos querer ler um arquivo, escrever
informações, excluir etc. Além disso, dependendo do arquivo
que estamos requisitando, pode ser necessário a presença de um
manipulador (handler) específico para tratar aquela requisição, como é
o caso de páginas Java e PHP, por exemplo. Este tratamento é feito pelos
servidores web, como Apache e IIS.
- Após decidir o que fazer com a requisição, o servidor retorna
uma resposta para o usuário. Aqui tem um ponto importante pois o
navegador do usuário somente entende respostas HTTP com conteúdo
em HTML (que veremos mais à frente). Ou seja, o servidor web terá que
traduzir a resposta do sistema, escrito em Java por exemplo, para essa
única linguagem que o browser entende.
- Aqui encerra-se o ciclo básico e genérico, com o usuário recebendo
uma resposta em seu navegador após ter realizado uma ação no sistema
web.
ATIVIDADE DE FIXAÇÃO
Comentários
Postar um comentário