Maison> développement back-end> Golang> le corps du texte

Comment utiliser la fonction serveur HTTP en langage Go pour servir des fichiers statiques ?

王林
Libérer: 2023-07-31 22:41:18
original
1361 Les gens l'ont consulté

Comment utiliser la fonction serveur HTTP en langage Go pour servir des fichiers statiques ?

Go est un langage de programmation concis et efficace. Il intègre de puissantes fonctions de serveur HTTP, qui peuvent facilement servir des fichiers statiques. Dans cet article, nous présenterons comment utiliser la fonction de serveur HTTP dans le langage Go pour créer un serveur de fichiers statique simple et fournirons des exemples de code.

Tout d'abord, nous devons importer le packagenet/http, qui fournit les fonctions et les types associés nécessaires pour créer un serveur HTTP. Ensuite, nous devons définir une fonction de processeur pour gérer les demandes des clients.net/http包,该包提供了搭建HTTP服务器所需的相关函数和类型。接下来,我们需要定义一个处理器函数,用于处理客户端的请求。

func handler(w http.ResponseWriter, r *http.Request) { http.ServeFile(w, r, r.URL.Path[1:]) }
Copier après la connexion

在上面的代码中,http.ServeFile函数会根据请求的路径,将对应的文件发送给客户端。w参数表示写入给客户端的响应,r参数表示客户端的请求。r.URL.Path[1:]表示请求的路径中去掉了第一个字符后的字符串。

接着,我们需要调用http.Handle函数,将处理器函数与路径进行绑定。

func main() { http.Handle("/", http.HandlerFunc(handler)) http.ListenAndServe(":8080", nil) }
Copier après la connexion

在上面的代码中,http.Handle函数将处理器函数与根路径进行绑定,也就是说当客户端请求根路径时,会调用handler函数进行处理。http.ListenAndServe函数用于在指定的地址上启动HTTP服务器,默认使用的端口号是80,这里指定的是8080。

最后,我们需要在终端中运行程序,以启动HTTP服务器。

$ go run main.go
Copier après la connexion

现在,我们可以在浏览器中访问http://localhost:8080/

package main import ( "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { http.ServeFile(w, r, r.URL.Path[1:]) } func main() { http.Handle("/", http.HandlerFunc(handler)) http.ListenAndServe(":8080", nil) }
Copier après la connexion
Dans le code ci-dessus, la fonction http.ServeFileenverra le fichier correspondant au client selon le chemin demandé. Le paramètre wreprésente la réponse écrite au client et le paramètre rreprésente la demande du client. r.URL.Path[1:]représente la chaîne dont le premier caractère a été supprimé du chemin demandé.

Ensuite, nous devons appeler la fonction http.Handlepour lier la fonction du processeur au chemin.

rrreee

Dans le code ci-dessus, la fonction http.Handlelie la fonction de gestionnaire au chemin racine, ce qui signifie que lorsque le client demande le chemin racine, handlersera appelé code> fonction pour le traitement. La fonction http.ListenAndServeest utilisée pour démarrer le serveur HTTP à l'adresse spécifiée. Le numéro de port par défaut utilisé est 80 et 8080 est spécifié ici. Enfin, nous devons exécuter le programme dans le terminal pour démarrer le serveur HTTP. rrreeeMaintenant, nous pouvons visiter http://localhost:8080/dans le navigateur, et nous pouvons voir les fichiers statiques envoyés par le serveur au client. Pour résumer, il est très simple d'utiliser la fonction serveur HTTP dans le langage Go pour servir des fichiers statiques. Il suffit de définir une fonction de processeur, de la lier au chemin, puis de démarrer le serveur HTTP. J'espère que cet article pourra vous aider à comprendre comment utiliser la fonction de serveur HTTP dans le langage Go pour servir des fichiers statiques. Le code de référence est le suivant : rrreee

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!

source:php.cn
Déclaration de ce site Web
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!