Sobes.tech
Junior — Middle

Explique la fonction principale et les principes de fonctionnement d'un serveur HTTP implémenté en langage Go

sobes.tech IA

Réponse de l'IA

Le serveur HTTP en Go est conçu pour traiter les requêtes HTTP entrantes et envoyer des réponses HTTP appropriées aux clients (navigateurs, clients API, etc.). Le principe de base est que le serveur écoute sur un port spécifique, reçoit les requêtes, les traite à l’aide de gestionnaires (handlers) et renvoie le résultat.

En Go, le paquet net/http est utilisé pour créer des serveurs HTTP. Les composants principaux sont :

  • Handler — une fonction ou un objet qui implémente l’interface http.Handler, responsable du traitement de la requête.
  • ListenAndServe — une fonction qui démarre le serveur et commence à écouter l’adresse spécifiée.

Exemple d’un serveur HTTP simple en Go :

package main

import (
    "fmt"
    "net/http"
)

func helloHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Bonjour, le monde!")
}

func main() {
    http.HandleFunc("/", helloHandler) // Enregistrer le gestionnaire pour le chemin "/"
    http.ListenAndServe(":8080", nil)  // Démarrer le serveur sur le port 8080
}

Ainsi, le serveur HTTP en Go est simple à mettre en œuvre, efficace et bien évolutif grâce au support intégré pour la concurrence via les goroutines.