Você está na página 1de 23

HTTP:

HTTP (HyperTextTransferProtocol)

HTTP é um protocolo (protocol) que permite a obtenção de recursos, como


documentos HTML. É a base de qualquer troca de dados na Web e um protocolo
cliente-servidor, o que significa que as requisições são iniciadas pelo destinatário,
geralmente um navegador da Web. Um documento completo é reconstruído a
partir dos diferentes sub-documentos obtidos, como por exemplo texto,
descrição do layout, imagens, vídeos, scripts e muito mais.

IP é o protocolo responsável pelas informações sairem do navegador e ir até o


servidor e trazer a informação. HTTP é como se fosse o caminho.

O IP não sabe como organizar as informações, ele apenas vai buscar a lançar as
informações pedidas. Ele quebra as informações em vários pacotes e entrega,
podendo estar fora de ordem. O TCP é o protocolo responsável por fazer as
informações, pacotes web chegarem organizadas, tudo corretamente.

Camadas web (tem 7 camadas, método OSI, mas essas 4 são as mais
importantes)
Aplicação => Tem HTTP, SMTP, FTP, DHCP... Aqui é a parte do programa. Do
software em si.
Transporte => Responsável de como as informações serão enviadas pelo cliente
ao servidor e vice versa. tem TCP, UDP. UDP embora mais rápido, não se
preocupa de como a ordem dos pacotes chega.
Rede => É o protocolo IP.
Hardware => As informações pedidas recebidas através dos cabos físicos.
Exemplo exato da sequência de como a navegação é feita.

Servidor
O servidor está processando várias informações, páginas ao mesmo tempo. Como
ele vai saber corretamente o que enviar o que você está pedindo? Através da
portas! Cara quadradinho do servidos representa uma porta tem porta 21, 25,
80...). O TCP geralmente usa a porta 80.
Digamos que o pedido de informação chegue na porta 80, como o servidos sabe o
que fazer, o que passar? O HTTP tem regras, linguagem. Os programas mais
comuns que entendem HTTP no servidor são: NGINX, APACHE, TOMCAT, NODE...
Exemplo de como tudo é feito. No final as informações são enviadas para o
navegador pelo caminho HTTP.

Protocolo HTTP em detalhes


https://www.youtube.com/watch?v=d_5iZJ8p9x8&list=PLbA-jMwv0cuUp3UKlLHn
g6E-xgD037bXz&index=2

HTTP é um protocolo de pedido e resposta:


Linha de pedido:

São os métodos. A ação.


GET: Quando se quer pegar algum recurso, alguma informação, pode ser pagina
HTML, info de API. EX: pegar dados de um cliente cadastrado em um site.
POST: É como se fosse o envio da informação. EX: você termina de fazer o seu
cadastro e clina e enviar.
PUT: É quando se vai tipo editar uma info. EX: Editar seu cadastro em um site.
DELETE: Deletar infos
PATCH: Quando você quer apenas fazer uma edição expecífica. EX: editar
apenas o email do usuário.
OPTIONS: Manda uma pergunta antes pra ver se vai conseguir fazer tal operação.
EX: Você quer usar o delete para excluir o cadastro e você pergunta se possível.
HEAD: Só quando você quer retornar os meta dados, o rodapé da parada e não a
página inteira.
TRACE: Saber se as ininformações pedidas, cabeçalhos, get, post... chegaram
exatamento do jeito que você pediu.

Exemplo completo:

Exemplo completo. Recurso é o / que mostra a raiz da parada


Cabeçalhos gerais:

Date: Data, hora, momento que você fez a requisição.


Cache-Control: Controla o cache da página (você já sabe o que é cache).
...
Exemplo Completo:

Cabeçalhos de pedido:
Accept: Preferência de qual material se quer. Se é um json, uma pagina html,
image...
Accept-Language: Qual a linguagem de preferência (idioma mesmo).

Quem fez o pedido, quem autorizou, o usuário principal, referência do pedido, de


ond evem o pedido...
Autoricação: Pode ser um método de entrada, tipo um token, uma senha...
Cabeçahos condicionais que são passados ao servidr. Desde quando foi
modificado, if combina...(tipo se senha e login combina com o que o usuário
cadastrou)...

O host é obrigado a passar. Se é da globo, do google, do amazon...

Exemplo completo:
Cabeçalhos de entidade:

Content-Type: Informa que tipo de conteúdo está sendo enviado para servidor.
json, html, video...

Mensagem final com as info's no sistema.


--
Resposta(response) :
Linha de status:

Lista de estatus http: https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Status

Cabeçalhos gerais: mesma coisa acima.

Cabeçalhos de resposta:
Entidade recurso: Mesmas de cima.

Exemplo completo:
Exemplo no sistema:

Você também pode gostar