Internet e Programação Web

 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