AULA 20
MÓDULO 1
fundamentos web
⏱ 50 min
HTTP: o Protocolo da Web
Anatomia de request e response HTTP. Headers essenciais. HTTPS. Evolução do protocolo. Tudo que acontece nos bastidores de cada requisição.
HTTPHTTPSrequestresponseheadersContent-TypeAuthorization
HTTP — o protocolo da web
HTTP (HyperText Transfer Protocol) é o protocolo de comunicação entre cliente e servidor na web. Todo o tráfego web que você vê — APIs JSON, páginas HTML, upload de imagens — é HTTP (ou HTTPS, sua versão criptografada).
analogia — carta
HTTP é como trocar cartas: o cliente envia uma carta (request) com endereço, assunto e conteúdo. O servidor lê e responde com outra carta (response). Sem conexão persistente por padrão.REQUEST
Método: GET
URL: /users/42
Headers: Accept, Auth...
Body: (payload JSON)
URL: /users/42
Headers: Accept, Auth...
Body: (payload JSON)
RESPONSE
Status: 200 OK
Headers: Content-Type...
Body: {"id":42,...}
Headers: Content-Type...
Body: {"id":42,...}
Headers importantes
Headers são metadados da requisição/resposta. Eles controlam caching, autenticação, tipo de conteúdo, CORS e muito mais.
REQUEST HEADERS
Authorization
Bearer token, Basic, API Key
Content-Type
application/json, multipart/form-data
Accept
Tipo esperado na resposta
Origin
De onde veio a requisição (CORS)
RESPONSE HEADERS
Content-Type
Tipo do body da resposta
Cache-Control
Por quanto tempo cachear
Set-Cookie
Define cookies no browser
Access-Control-Allow-Origin
Controle CORS
HTTP/1.1, HTTP/2, HTTP/3
O protocolo evoluiu muito. HTTP/2 multiplexou conexões. HTTP/3 trocou TCP por UDP (QUIC).
o que você precisa saber
Na prática: use HTTPS sempre. Servidores modernos fazem HTTP/2 automaticamente. Para WebSockets, é HTTP/1.1 com Upgrade. Para streaming, use HTTP/2 ou SSE.
javascript
// Inspecionar request e response em Express const express = require('express') const app = express() app.use(express.json()) app.post('/echo', (req, res) => { // Inspecionar a requisição console.log('Método:', req.method) // POST console.log('URL:', req.url) // /echo console.log('Headers:', req.headers) // { content-type:...} console.log('Body:', req.body) // { nome: "Fulano" } // Construir a resposta res .status(200) .set('X-Custom-Header', 'aula-20') .json({ message: 'Recebido!', dados: req.body }) })
quiz · aula 20
Teste seus conhecimentos
0/3 respondidas
QUESTÃO 01
O que são Headers HTTP?
QUESTÃO 02
Qual header indica que o body da requisição é JSON?
QUESTÃO 03
HTTPS é diferente de HTTP porque...
0/3