Maison >développement back-end >Golang >Comment servir des fichiers HTML statiques avec un serveur Web Go ?

Comment servir des fichiers HTML statiques avec un serveur Web Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-24 00:51:15123parcourir

How to Serve Static HTML Files with a Go Web Server?

Servir des fichiers HTML statiques avec un serveur Web Go

Pour servir des fichiers HTML statiques comme index.html, le package net/http de Go fournit un solution élégante. Voici comment procéder :

package main

import (
    "net/http"
)

func main() {
    http.Handle("/", http.FileServer(http.Dir("./static")))
    http.ListenAndServe(":3000", nil)
}

Ce code suppose que vos fichiers statiques sont stockés dans un répertoire appelé "static" à la racine du projet. En appelant la fonction FileServer() et en lui transmettant le répertoire contenant vos fichiers HTML, vous demandez au serveur Web de servir ces fichiers tels quels.

Lorsque vous visitez http://localhost:3000/, l'index. Le fichier html du répertoire statique sera rendu. D'autres fichiers de ce répertoire sont également accessibles directement en modifiant l'URL.

Servir des fichiers à partir d'une URL différente

Si vous préférez servir vos fichiers statiques à partir d'un emplacement spécifique URL, telle que http://localhost:3000/static, vous pouvez utiliser la fonction StripPrefix() :

package main

import (
    "net/http"
)

func main() {
    http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./public"))))
    http.ListenAndServe(":3000", nil)
}

Ce code configure un gestionnaire qui supprime "/static/" de l'URL de la requête avant de servir les fichiers du répertoire "public". En conséquence, les fichiers du répertoire public seront accessibles sur http://localhost:3000/static/.

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