Junior — Middle
Como funciona o processo de tratamento de pedidos HTTP no navegador e o que acontece do lado do cliente e do servidor?
sobes.tech IA
Resposta da IA
Quando um utilizador insere uma URL no navegador e pressiona Enter, o seguinte processo ocorre:
-
Cliente (navegador):
- Resolve o nome de domínio para um endereço IP através do DNS.
- Estabelece uma ligação TCP com o servidor (normalmente através da porta 80 para HTTP ou 443 para HTTPS).
- Envia uma requisição HTTP (GET, POST, etc.) ao servidor.
-
Servidor:
- Recebe e processa a requisição (por exemplo, através de um servidor web ou aplicação backend).
- Forma uma resposta HTTP com os dados necessários (HTML, JSON, imagens, etc.).
- Envia a resposta de volta ao cliente.
-
Cliente:
- Recebe a resposta, processa-a (por exemplo, renderiza HTML, executa JavaScript).
- Carrega recursos adicionais (CSS, JS, imagens) conforme necessário.
Exemplo em Go para lidar com uma requisição HTTP:
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Olá, solicitaste: %s", r.URL.Path)
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
Este código inicia um servidor HTTP simples que responde a todas as requisições com uma mensagem que inclui o rota solicitada.