Sobes.tech
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:

  1. 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.
  2. 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.
  3. 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.