A plataforma web é uma rica em especificações, protocolos e padronizações. Por ser tão popular e utilizada no mundo inteiro, faz-se necessário toda essa padronização. No centro desse universo de siglas, entre IP, TCP, UDP, HTML, JS, CSS e etc. está o protocolo mais importante: o HTTP.
O HTTP padroniza todos as transferências de dados, arquivos, imagens e todo o resto que é transportado na web. Entender o seu funcionamento é essencial para o entendimento do desenvolvimento web.
Principal padrão arquitetural adotado na Internet. Processamento distribuído entre dois elementos:
Exige comunicação entre os dois elementos:
Nessa estrutura temos os seguintes componentes:
O que vamos estudar na disciplina:
A URL (Uniform Resource Locator) é um endereço para encontrar um determinado recurso na rede. Esse recurso pode ser qualquer coisa, como uma página php, imagem, vídeo, etc.
A rede em questão pode ser a internet, mas pode ser um recurso local da sua própria rede. A URL é dívidida em algumas partes, cada uma com a sua função:
Para a web, temos basicamente dois atores: Cliente e Servidor. Cada um destes possui suas próprias tecnologias para operar. No cliente (ou frontend) temos:
No servidor vamos ter:
Linguagem utilizada para representar o conteúdo e o formato visual de uma página no navegador. HTML é uma tagged language: suas tags definem a apresentação do conteúdo no navegador.
Padrão de formatação para páginas web que permite ao desenvolvedor ir além das limitações do HTML. Oferecem maior flexibilidade visual na programação de páginas HTML, gerando efeitos que somente poderiam ser conseguidos com imagens. Redução do tamanho das páginas HTML, com a redução do número de imagens necessárias no visual
Um script é uma sequência de comandos descritos em uma linguagem de programação para executar alguma ação. Os scripts de cliente são utilizados para dar “vida” ao HTML, ou seja, colocar comportamentos dentro das páginas (ex: ao clicar, abrir janela ou mostrar uma área que não existia).
Atualmente o ECMAScript é uma especificação e JavaScript é uma das implementações possíveis desses Scripts.
Para que o computador que receberá a requisição seja capaz de interpretá-la, ele precisa entender o protocolo HTTP. Para entender esse protocolo, é necessário um software conhecido como servidor HTTP (ou web server).
Para executar a lógica associada da sua aplicação, é necessária uma linguagem de programação que o seu servidor (computador) possa executar. Diversos tipos (compilado x interpretado), diversos objetivos (orientação a objeto, estrutural, funcional, aspectos), diversas preferências.
Software utilizado para gerenciar bases de dados. Cuida do acesso, manutenção e persistência de dados nas suas bases. Garante o acesso a elas através de uma série de drivers e de uma linguagem específica de consultas e alterações (SQL).
É um protocolo de troca de informações na internet. Versão atual é a 1.1 (RFC 2616 em 1999), mas a versão HTTP2 já é uma realidade em muitos provedores e servidores. Utilizado sobretudo para navegação na internet, mas também por integrações de sistemas via web (REST).
É composto de requisições e respostas entre um cliente (um navegador na maioria dos casos) e um servidor.
Uma requisição é um pedido de um determinado recurso. Esse pedido vai com a sua especificação em termos de cabeçalhos de requisição (request headers) e com um identificador (URL) do recurso. Para que o servidor saiba o que deve fazer com essa requisição, o HTTP manda também um verbo, indicando qual ação executada pelo servidor.
É stateless (sem estado): uma requisição tem o ciclo de vida baseada na resposta. Após o retorno do servidor todas as informações sobre a requisição são perdidas. Para persistir informações entre requisições, precisamos usar recursos específicos:
Verbos ou Métodos HTTP indicam o que o servidor deve fazer ao receber a requisição, os mais usados são:
Após a requisição, o servidor processa toda a informação necessária e formata a resposta para enviar ao cliente. Essa resposta é formada por:
O código de status é um número que varia de 100 a 600, cada um associado com um tipo de situação que pode ser encontrado durante a navegação na web.
Alguns dos mais comuns:
Atente para os tópicos a seguir. Eles devem ser estudados com muita atenção, pois representam os pontos mais importantes do capítulo.
O modelo que representa a arquitetura da web é o cliente – servidor. Nesse modelo é necessário alguém requisitando uma informação (cliente) e alguém respondendo a essa requisição (servidor).
Diversos componentes estão por trás desse modelo cliente – servidor: HTML, CSS e JavaScript no cliente e um servidor web, linguagem de programação e um banco de dados no servidor.
Entre todas essas tecnologias está o protocolo HTTP, ele conecta todas essas camadas com o transporte da informação necessária.