O protocolo HTTP viabiliza a busca de recursos em relação a uma página na internet como documentos HTML.

Ele √© usado como uma base de qualquer troca de dados na internet, sendo um protocolo aplicado entre cliente-servidor, abrangendo as  solicita√ß√Ķes que s√£o iniciadas pelo destinat√°rio, geralmente atrav√©s do navegador da Web.

Lembramos que um documento completo é reconstruído a partir dos diferentes sub-documentos buscados e encontrados na página de internet como, por exemplo, texto, descrição do layout, imagens, vídeos, scripts e outros arquivos.

A import√Ęncia do protocolo HTTP

Sabemos que a internet depende da troca constante de arquivos seguros para serem visitados, acessados, trocados, enviados e recebidos.

Nesse amplo fluxo de dados, os clientes e servidores se comunicam trocando mensagens individuais. Determinadas mensagens enviadas pelo cliente, geralmente um navegador da Web, s√£o chamadas de solicita√ß√Ķes e as mensagens enviadas pelo servidor como resposta s√£o chamadas de ‚Äúrespostas‚ÄĚ.

Origem e evolução

Esse tipo de protocolo surgiria no início dos anos 1990, trata-se de um protocolo extensível que evoluiu com o tempo. Apresenta camada de aplicação que é enviado por TCP ou por uma conexão TCP criptografada por TLS, embora qualquer protocolo de transporte confiável possa teoricamente ser usado.

Considerando o seu car√°ter extenso, √© utilizado n√£o apenas para buscar documentos de hipertexto, mas tamb√©m para imagens e v√≠deos ou para publicar conte√ļdo em servidores, como nos resultados de formul√°rios HTML.

Ahhhh, antes que eu esqueça no youtube montei um curso básico de HTML5 e lá você também vai encontrar vários outros tutoriais, acessa lá!

Progressive Web Apps?

Aplicação

Al√©m de auxiliar na busca de documentos, publica√ß√£o de conte√ļdos ele tamb√©m pode ser usado para buscar partes de documentos para atualizar p√°ginas da Web sob demanda.

Componentes de sistemas

Os componentes de sistemas baseados nesse tipo de protocolo existem a partir de uma base cliente-servidor. Dessa forma, as solicita√ß√Ķes s√£o enviadas por uma entidade, o agente do usu√°rio ou um proxy em seu nome.

Geralmente, o agente do usu√°rio √© um navegador da Web, mas pode ser qualquer coisa, por exemplo, um rob√ī que rastreia a Web para preencher e manter um √≠ndice de mecanismo de pesquisa de dados e resultados.

O servidor

Nesse caminho entre cliente-servidor, cada solicitação individual é enviada para um servidor, que lida com ela e fornece uma resposta, chamada resposta.

Entre o cliente e o servidor, existem in√ļmeras entidades, coletivamente chamadas de proxies , que executam opera√ß√Ķes diferentes. Na pr√°tica, h√° mais computadores entre um navegador e o servidor que gerencia a solicita√ß√£o, incluindo roteadores, modems e muito mais.

As camadas da web

A partir da estrutura√ß√£o de camadas da web, as solicita√ß√Ķes ficam ocultas nas camadas de rede e transporte. Nessa estrutura√ß√£o, o protocolo HTTP fica no topo, na camada de aplica√ß√£o.

Em certos casos é importante diagnosticar problemas de rede, através das camadas subjacentes, mesmo sendo irrelevantes para a descrição do HTTP.

O user agent

O user agent na língua portuguesa é referido como agente de usuário. O agente do usuário é qualquer ferramenta que atua em nome do usuário.

Essa fun√ß√£o √© desempenhada principalmente pelo navegador da Web. Por outro lado, outras possibilidades s√£o programas usados ‚Äč‚Äčpor engenheiros e desenvolvedores da Web para depurar seus aplicativos.

O navegador

O navegador √© a ferramenta mais usada para solicitar, nunca o servidor realizar as solicita√ß√Ķes, por√©m alguns mecanismos tenham sido adicionados ao longo dos anos para simular mensagens iniciadas pelo servidor.

Apresentação da página na internet

Ao acessar um determinado site ou página simples da internet, o navegador envia uma solicitação original para buscar o documento HTML que representa a página.

Depois, ele realiza uma an√°lise do mesmo arquivo, fazendo solicita√ß√Ķes adicionais correspondentes a scripts de execu√ß√£o, informa√ß√Ķes de layout (CSS) a serem exibidas e sub-recursos contidos na p√°gina, geralmente imagens e v√≠deos.

O navegador consegue combinar os recursos para apresentar ao usu√°rio um documento completo, a p√°gina da Web.

No processo de visita√ß√£o, os scripts executados pelo navegador podem buscar mais recursos em fases posteriores e o navegador atualiza a p√°gina da Web de acordo com o servidor. 

O que é uma página de internet?

Num conceito bastante prático, a página de web refere-se a um documento de hipertexto. Dessa forma determinadas partes do texto exibido são links que podem ser ativados, através com um clique do mouse, para buscar e achar uma nova página da Web, permitindo que o usuário direcione seu agente e navegue pela internet.

Posteriormente, o navegador consegue converter as instru√ß√Ķes em solicita√ß√Ķes atrav√©s do protocolo HTTP e interpreta ainda mais as respostas HTTP para apresentar ao usu√°rio uma resposta clara.

O servidor

Do outro lado, temos o servidor que serve o documento conforme solicitado pelo cliente. Genericamente, o servidor é o local onde o site e seus arquivos ficam arquivados e configurados para serem encontrados através do domínio chaveado pelo DNS.

O servidor aparece apenas como uma √ļnica m√°quina virtualmente. Pode ser tamb√©m uma cole√ß√£o de servidores, compartilhando a carga ou um software complexo que interroga outros computadores, como cache, servidor de banco de dados ou com√©rcio eletr√īnico, total ou parcialmente gerando o documento sob demanda.

O servidor é uma máquina

Em sua aplica√ß√£o, um determinado servidor n√£o √© necessariamente uma √ļnica m√°quina, mas v√°rias inst√Ęncias de software para servidor podem ser hospedadas na mesma m√°quina.

Proxies

Quando falamos em sess√£o de √°reas proxies, devemos lembrar que entre o navegador da Web e o servidor, v√°rios computadores e m√°quinas retransmitem as mensagens do protocolo HTTP.

Considerando a sua estrutura em camadas da pilha da Web, a maioria delas opera nos níveis de transporte, rede ou físico, tornando-se transparente na camada HTTP e potencialmente causando um impacto significativo no desempenho.

Por outro lado, quando operam nas camadas do aplicativo s√£o geralmente chamados de proxies.

Os proxies podem ser transparentes, encaminhando as solicita√ß√Ķes recebidas sem alter√°-las de qualquer forma ou n√£o transparentes.

As fun√ß√Ķes dos Proxies

Eles podem realizar v√°rias fun√ß√Ķes, leia a seguir as principais:

  • Cache: o cache pode ser p√ļblico ou privado, como o cache do navegador.
  • Filtragem: como uma verifica√ß√£o antiv√≠rus ou controle dos pais.
  • Balanceamento de carga: Utilizado para permitir que v√°rios servidores atendam a diferentes solicita√ß√Ķes.
  • Autentica√ß√£o: usada para controlar o acesso a diferentes recursos.
  • Registro: Utilizado para permitir o armazenamento de informa√ß√Ķes hist√≥ricas.
FRONT END
FRONT END

Considera√ß√Ķes b√°sicas

O protocolo HTTP é projetado para ser simples e legível por humanos e não somente por máquinas. Pode ser aplicada uma complexidade adicional introduzida no HTTP / 2, encapsulando mensagens HTTP em quadros.

Dessa maneira, as mensagens do protocolo podem ser lidas e entendidas por humanos, oferecendo testes mais f√°ceis para desenvolvedores e menor complexidade para usu√°rios iniciantes.

Extens√£o

O protocolo é extensível. Numa explicação técnica, ao introduzir o protocolo os cabeçalhos HTTP facilitam a extensão e a experimentação desse protocolo no 1.0.

Novas funcionalidades podem at√© ser introduzidas por um simples acordo entre um cliente e um servidor sobre a sem√Ęntica de um novo cabe√ßalho.

Ap√°trida

Quando falamos nesse tipo de protocolo, devemos lembrar que ele √© ap√°trida, pois n√£o h√° nenhum link entre duas solicita√ß√Ķes sendo executadas sucessivamente na mesma conex√£o.

Pode gerar problemas para os usu√°rios que tentam interagir com determinadas p√°ginas de forma coerente, por exemplo, usando cestas de compras de com√©rcio eletr√īnico.

Como o n√ļcleo do protocolo em si √© sem estado, os cookies HTTP permitem o uso de sess√Ķes com estado. Utilizando a extensibilidade do cabe√ßalho, os cookies HTTP s√£o adicionados ao fluxo de trabalho, permitindo que a cria√ß√£o da sess√£o em cada solicita√ß√£o.

A conex√£o

Em seu contexto, é determinado que a conexão é controlada na camada de transporte e, portanto, fundamentalmente fora do escopo para HTTP.

Ele pode não exigir que o protocolo de transporte subjacente seja baseado em conexão, podendo exigir apenas que seja confiável ou não perca mensagens com mínimo de erro.

Em comparação, entre os dois protocolos de transporte mais comuns na Internet, o TCP é confiável e o UDP não. O protocolo HTTP, portanto, depende do padrão TCP, que é baseado em conexão.

Antes que um cliente e servidor possam trocar um par de solicitação e resposta através do protocolo, eles precisam estabelecer uma conexão TCP, um processo que requer várias viagens de ida e volta.

Conclus√£o

Fala Stacker, nos √ļltimos anos, iniciaram experimento para criar um protocolo melhor de transporte mais adequado ao HTTP.

O Google est√° testando o QUIC, que se baseia no UDP para fornecer um protocolo de transporte mais confi√°vel e eficiente.

Atualmente, o protocolo HTTP permite mais controle e funcionalidade da Web, envolvendo métodos de cache ou autenticação. Porém, a capacidade de relaxar a restrição de origem começou a ser aplicada a partir dos anos 2010.

Me diz uma coisa, voc√™ quer aprender mais sobre Front end? Baixe nosso Material Gratuito ou aprenda mais sobre Front end no youtube.

Deixe suas perguntas ai nos comentários que irei responder, e até a próxima forte abraço!


Summary
Entendendo um pouco mais sobre o protocolo HTTP / HTTPS ūüõ°
Article Name
Entendendo um pouco mais sobre o protocolo HTTP / HTTPS ūüõ°
Description
O protocolo HTTP viabiliza a busca de recursos em relação a uma página na internet como documentos HTML. Clique aqui e entenda mais agora!
Author
Publisher Name
Vida FullStack
Publisher Logo
Share This