Uploaded by Daniel Gongo

HTTP/HTTPS

advertisement
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...
software em si.
Aqui é a parte do programa. Do
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:
apenas o email do usuário.
editar
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:
Download