Comprendre la racine du système de fichiers dans le serveur Web de Go
Lors de l'utilisation du package net/http de Go pour la fonctionnalité du serveur Web, une question clé se pose : où la racine du site Web correspond-elle au système de fichiers ?
Contrairement à certains serveurs de fichiers statiques, le package net/http utilise des gestionnaires pour gérer les requêtes HTTP. Un gestionnaire traite les demandes et génère des réponses, sans répertoire « racine » désigné.
Cependant, pour le service de fichiers statiques, la fonction FileServer() fournit une solution. En spécifiant un chemin absolu, le répertoire racine est explicitement établi. Si un chemin relatif est utilisé, il fait référence au répertoire de travail actuel (généralement là où l'application est exécutée).
Par exemple, considérons la configuration suivante :
http.Handle("/", http.FileServer(http.Dir("/tmp")))
Cela mappe l'URL racine "/" dans le répertoire "/tmp" du système de fichiers. Par conséquent, une requête pour "/mydoc.txt" récupérerait le fichier "/tmp/mydoc.txt".
Une personnalisation plus granulaire peut être obtenue à l'aide de la fonction StripPrefix(). Par exemple, pour servir "/tmp" sous l'URL "/tmpfiles/", la configuration suivante suffirait :
http.Handle("/tmpfiles/", http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("/tmp"))))
En tirant parti des gestionnaires et en comprenant le mappage du répertoire racine dans FileServer(), les développeurs peuvent servir efficacement les fichiers statiques à l'aide du framework de serveur Web de Go.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!