Dans le package net/http de Go, la "racine du système de fichiers" du serveur Web est pas directement lié au répertoire de l'exécutable. Au lieu de cela, cela dépend des gestionnaires enregistrés sur le serveur.
Les gestionnaires fournissent la logique de traitement des requêtes HTTP entrantes. Lors de l'enregistrement d'un gestionnaire, les développeurs peuvent spécifier les modèles d'URL qu'il servira. Il n'y a pas d'URL « racine » désignée et les gestionnaires peuvent correspondre à n'importe quel préfixe d'URL.
Si une fonctionnalité de serveur de fichiers statique est requise, le package http fournit une fonction FileServer(). Il prend un répertoire en entrée et renvoie un gestionnaire qui sert les fichiers statiques de ce répertoire.
Lors de l'utilisation de FileServer(), la "racine" des fichiers statiques est spécifiée en tant que paramètre. Si un chemin absolu est fourni, il fait directement référence au dossier spécifié.
Cependant, si un chemin relatif est utilisé, il est interprété par rapport au répertoire actuel ou de travail. Par défaut, il s'agit du dossier à partir duquel l'application est démarrée.
Par exemple, si vous enregistrez un gestionnaire en utilisant :
http.Handle("/", http.FileServer(http.Dir("/tmp")))
Le gestionnaire servira les fichiers statiques à partir du "/tmp ", et l'URL racine "/" sera mappée à ce répertoire.
Pour mapper un répertoire à un chemin d'URL différent, vous pouvez utiliser la fonction StripPrefix(). Par exemple, si vous souhaitez diffuser "/tmp" sous le préfixe d'URL "/tmpfiles", vous pouvez utiliser :
http.Handle("/tmpfiles/", http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("/tmp"))))
Cela supprimera le préfixe "/tmpfiles" de l'URL de la requête avant qu'il ne soit géré par le FileServer.
Comprendre ces concepts est crucial pour configurer votre application Web et mapper correctement les préfixes d'URL aux fichiers ou fichiers souhaités. gestionnaires.
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!