Entendendo o protocolo HTTP

Refatorando
Refatorando
🚀 Mergulhe nos nossos eBooks repletos de insights valiosos e junte-se à nossa comunidade no Discord, onde o aprendizado se torn ...
🚀 Mergulhe nos nossos eBooks repletos de insights valiosos e junte-se à nossa comunidade no Discord, onde o aprendizado se torna uma experiência coletiva e inspiradora.
✅ Ebook: Como usar a ChatGPT para aprender a programação: https://refatorando.com.br/m3m8
✅ Ebook: Como encontrar as melhores vagas em TI: https://refatorando.com.br/sygl
✅ Ebook: Como se destacar em processos seletivos de TI: https://refatorando.com.br/ajnw
✅ Faça parte da nossa comunidade no Discord: Discord: discord

Nesse Vídeo eu quero falar com vocês sobre HTTP é é um dos fundamentos básicos se você deseja trabalhar com T.I. e internet.

então eu recomendo que você veja esse vídeo até o final, pois esses conceitos vão ajudar muito você lá na frente.

o que é HTTP ou HyperText Transfer Protocol ou protocolo de transferência Hipertexto que é basicamente o protocolo de comunicação utilizado na www (world wide web)

Mas Roger que tipo de comunicação você tá falando? é a comunicação entre Cliente e Servidor

Onde nosso computador é o cliente e as páginas da web são o servidor?

O computador cliente envia um HTTP Request ou solicitação HTTP, o servidor recebe, processa essa solicitação e devolve para o cliente um HTTP Response ou resposta HTTP.

Lembrando de um exemplo que eu já citei várias vezes para APIs, mas nesse caso ele também serve que é você imaginar um restaurante você ao sentar na mesa, e seu pedido é o HTTP request, a cozinha é o servidor e seu prato é o HTTP Response.

Uma coisa muito importante sobre esse protocolo é que ele não tem estado, mas tem sessões e cookies e isso quer dizer que cada requisição HTTP é independente e não guarda estado ou dados sobre requisições anteriores, mas em muitos casos nós precisamos guardar o estado de uma requisição para ser usado em outras como, uma vez feito o login você não precisar logar novamente na aplicação, ou um carrinho de compras que se mantém ali esperando você comprar mesmo depois de você navegar por diversas páginas e fazer várias requisições.

Esse tipo de estado é mantido por sessões ou cookies que são armazenadas no cabeçalho das requisições, (comandas) mas nós vamos ver os detalhes sobre manter estado em outro vídeo.

Outro detalhe muito importante é que suas requisições têm métodos e cada método serve a um propósito específico mas não se limita a isso pois isso tem que ser tratado no lado do servidor.

Os métodos mais comuns são o GET, POST, PUT e DELETE, existem vários outros como HEAD, OPTIONS, PATCH, mas agora você precisa focar em entender esses 4 principais.

Vamos imaginar nosso exemplo do restaurante. Eu posso ter quatro interações básicas com o garçom: Realizar um pedido, alterar o pedido adicionando uma água por exemplo, perguntar o que eu pedi caso tenha esquecido ou perguntar qual o status do pedido se está demorando muito e finalmente cancelar o pedido e ir embora.

GET - Para perguntar algo, Pedir o cardápio, o que eu pedi? Como está indo o preparo? Você tem o menu de bebidas?

POST - Para realizar o pedido, isto é, criar algo, utilizamos o:

PUT - Para alterar o pedido, quando você quer adicionar aquela caipirinha ou dizer que você não quer azeitona na sua pizza.

DELETE - E caso demore muito e você queira cancelar e ir embora desse péssimo restaurante? Aí você usa o DELETE.

Outra coisa que você precisa saber sobre o protocolo HTTP são os Headers, ou cabeçalhos, toda requisição e resposta HTTP tem um HEADER e basicamente ele tem algumas informações que complementam a sua requisição, existem vários e você pode customizar, mas alguns comuns são:

CONTENT TYPE: que é uma informação que diz o tipo do conteúdo que está sendo enviado ou recebido, isso pode ser literalmente qualquer formato, HTML, texto, imagem, json e etc.

METHOD: o método que acabamos de ver, GET, POST, PUT, DELETE e etc

COOKIE: como falamos anteriormente, é a forma de se manter o estado da aplicação já que HTTP é stateless

STATUS CODE: essa informação vem sempre no cabeçalho de um HTTP RESPONSE que é o status da requisição que foi retornado pelo servidor, existe uma lista imensa de status code, mas eu vou citar alguns exemplo para você entender:

200 - OK
201 - Created
404 - Not Found
403 - Forbidden (cliente não tem acesso)
401 - Unauthorized (não tem autenticação válida para fazer a requisição)
500 - Internal Server Error
e muitos outros

همه توضیحات ...