Maison >développement back-end >Golang >Où le serveur Web « net/http » de Go mappe-t-il la racine du site Web au système de fichiers ?

Où le serveur Web « net/http » de Go mappe-t-il la racine du site Web au système de fichiers ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-27 13:31:18937parcourir

Where Does Go's `net/http` Web Server Map the Website Root to the Filesystem?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn