Please enable JavaScript.
Coggle requires JavaScript to display documents.
Microfundamento: Desenvolvimento Web Front-end Unidade 1 - Coggle Diagram
Microfundamento: Desenvolvimento Web Front-end
Unidade 1
TEMA 2
Protocolo HTTP
O Hypertext Transfer Protocol (HTTP) é um protocolo da camada de aplicação para sistemas distribuídos e colaborativos de informação no formato de hipertextos.
O protocolo HTTP é um dos padrões mantidos pelo W3C e possui diversas versões, sendo a versão 2.0 a mais utilizada pelos clientes e servidores do mercado.
Para entendermos a dinâmica onde o protocolo HTTP é aplicado, vamos compreender o processo de navegação na Web. Nesse processo são conduzidos os seguintes passos:
Usuário informa a URL pelo cliente. Ex.:
http://www.exemplo.com.br
.
O cliente monta uma requisição HTTP e encaminha ao servidor.
O servidor recebe a requisição, processa e envia uma resposta ao cliente.
A resposta é recebida e interpretada pelo cliente, o resultado é exibido para o usuário.
Para páginas HTML, novas requisições são feitas para outros objetos que podem ser necessários para a apresentação adequada da página como imagens, arquivos JavaScript, arquivos CSS, entre outros.
Dessa forma, podemos descrever o protocolo HTTP como um conjunto de regras que definem como as requisições e as respostas devem ser montadas de tal forma que o servidor possa entender o que o cliente está requisitando e como e, também, o cliente possa entender aquilo que é devolvido pelo servidor.
Uma
requisição HTTP
é dividida em três partes:
Linha da requisição - informa o método da requisição, o recurso e a versão do protocolo HTTP.
Linhas de Cabeçalhos – inclui informações complementares sobre a requisição no formato campo e valor, sendo um para cada linha.
Corpo da entidade – carrega dados adicionais passados pelo cliente, tais como: dados de formulários, arquivos completos em um processo de upload, entre outros.
As partes mais importantes em uma requisição são exatamente o método e o recurso para o qual a requisição é direcionada.
Uma
resposta HTTP
também, é dividida em três partes:
Linha da resposta - informa a versão do HTTP praticada pelo servidor, o código de retorno (status) e uma mensagem explicativa para o código de retorno.
Linhas de Cabeçalhos – tal qual na requisição, inclui informações complementares sobre a resposta no formato campo e valor, sendo um para cada linha.
Corpo da entidade – traz o recurso solicitado pelo cliente ou dados de resposta à requisição feita.
Uma das informações mais importantes de uma resposta HTTP está no cabeçalho Content-Type que informa o formato do conteúdo enviado.
Os cabeçalhos incluídos tanto nas requisições quanto nas respostas
permitem ao cliente e ao servidor passar informações adicionais de um lado para o outro. Esses cabeçalhos podem ser classificados como:
Request header: informações sobre a requisição feita ou sobre o cliente Web.
Response header: informações sobre a resposta encaminhada ou sobre o servidor Web.
Entity header: informações sobre o conteúdo da entidade trocada como tamanho e tipo.
General header: Usado tanto em requisições quanto em respostas.
SERVIDORES WEB
Um site da Internet tem seus arquivos e todas as demais informações mantidas em um ambiente servidor que é responsável, em primeira instância, por servir essas informações para os usuários que requisitam o referido site. O ambiente servidor pode ser composto por várias peças, mas a principal delas é um software ou programa denominado Servidor Web. Este software é o responsável por processar a requisição feita por um cliente Web (navegador da Internet ou outra aplicação qualquer) e prover os recursos solicitados.
O software que atua como servidor Web desempenha diversas tarefas durante o processamento de uma aplicação Web. São elas:
Atender requisições HTTP e processar repostas.
Gerenciar múltiplos sites (Domínios, IPs e Portas).
Gerenciar arquivos dos sites (File System).
Integrar com mecanismos de scripts: PHP, PERL, ASPX, Ruby, Python, etc.
Autenticar usuários.
Autenticação básica ou digest (Protocolo HTTP)
Integração com servidores de autenticação (Microsoft Active Directory, LDAP Servers, Radius Servers)
Implementar a criptografia na comunicação: HTTPS - TLS/SSL.
Cache de recursos.
Auditoria (Logs de acesso, sistema e erros).
Ao criar uma aplicação Web, é possível instalar um software que desempenha o papel de servidor Web na sua máquina local, ou em um servidor da sua empresa, ou utilizar um ambiente provido por terceiros.
DINÂMICA DE APLICAÇÕES WEB
Uma página HTML é o ponto de partida para a apresentação de um site ou de uma aplicação da Web. A página HTML é o arquivo que indica os elementos necessários para que o navegador da Web possa apresentar o site para o Usuário.
Os passos seguidos na comunicação entre navegador e servidor são os seguintes (nesse exemplo):
Usuário informa a URL no Navegador.
O Navegador envia uma requisição para um servidor DNS para receber o número IP do servidor final
O Navegador solicita a página inicial (index.html) ao Servidor.
O Servidor envia o arquivo index.html para o Navegador.
O Navegador identifica o link do HTML com o arquivo style.css e solicita este arquivo ao Servidor.
O Servidor encaminha o arquivo style.css para o Navegador.
O Navegador identifica o link do HTML com o arquivo app.js e solicita este arquivo ao Servidor.
O Servidor encaminha o arquivo app.js para o Navegador.
O Navegador identifica o link do HTML com o arquivo logo.jpg e solicita este arquivo ao Servidor.
O Servidor encaminha o arquivo logo.jpg para o Navegador.
O Navegador apresenta a página para o Usuário.
Nos passos acima, para cada uma das vezes que o navegador solicita um arquivo ou recurso ao servidor, é encaminhada uma requisição HTTP do navegador para o servidor. Da mesma forma, para cada atendimento do servidor, é encaminhada uma resposta HTTP do servidor para o navegador. Essa é a
dinâmica de funcionamento de uma navegação na Web.