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.