Maison > développement back-end > Golang > Comment construire un serveur HTTP dans Golang (explication détaillée de la méthode)

Comment construire un serveur HTTP dans Golang (explication détaillée de la méthode)

PHPz
Libérer: 2023-04-09 19:30:01
original
2329 Les gens l'ont consulté

Golang est un langage de programmation très populaire. Sa vitesse de développement rapide et son efficacité d'exécution de code élevée sont très adaptées au développement d'applications Web. Cet article explique comment utiliser Golang pour créer un serveur HTTP.

1. Installer Golang

Avant de commencer, nous devons d'abord installer Golang. Vous pouvez télécharger le package d'installation de Golang depuis le site officiel et l'installer sur votre ordinateur. Après l'installation, utilisez l'outil de ligne de commande pour vérifier si Golang est installé avec succès. Vous pouvez saisir la commande suivante :

$ go version
Copier après la connexion

Si le numéro de version de Golang est affiché, cela signifie que Golang est installé avec succès.

2. Construire un serveur HTTP

Maintenant, nous commençons à construire un serveur HTTP. Nous devons d’abord enregistrer le code suivant sous forme de fichier nommé server.go.

package main

import (
    "fmt"
    "net/http"
)

func homeHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, Golang!")
}

func main() {
    http.HandleFunc("/", homeHandler)
    http.ListenAndServe(":8000", nil)
}
Copier après la connexion

Grâce au code ci-dessus, nous avons implémenté un serveur HTTP très simple, qui peut répondre aux requêtes HTTP sur le port local 8000 et envoyer une chaîne "Bonjour, Golang au client !"

Nous pouvons maintenant compiler et démarrer ce serveur via les commandes suivantes.

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

Exécutez le code ci-dessus dans l'outil de ligne de commande. Si aucun message d'erreur n'apparaît, nous pouvons accéder à "localhost:8000" via le navigateur et voir la chaîne "Bonjour, Golang !"

3. Étendre le serveur HTTP

Bien sûr, le code ci-dessus n'implémente qu'un serveur HTTP très basique, qui ne peut pas répondre à nos besoins. Ci-dessous, nous présentons quelques opérations courantes pour étendre le serveur HTTP.

  1. Gestion des requêtes HTTP

Nous pouvons enregistrer la fonction de traitement des requêtes HTTP via la fonction HandleFunc du package http Par exemple, le code suivant peut gérer la requête HTTP GET et afficher "Hello, World to the browser".

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, World!")
})
Copier après la connexion
  1. Paramètres de traitement

Nous pouvons obtenir les paramètres dans la requête HTTP via la méthode FormValue de l'objet Request. Par exemple, nous pouvons analyser les paramètres « nom d'utilisateur » et « mot de passe » avec le code suivant et afficher leurs valeurs dans le navigateur.

http.HandleFunc("/login", func(w http.ResponseWriter, r *http.Request) {
    r.ParseForm()
    username := r.FormValue("username")
    password := r.FormValue("password")
    fmt.Fprintf(w, "Username: %s, Password: %s", username, password)
})
Copier après la connexion
  1. Traitement des fichiers statiques

Nous pouvons utiliser la fonction FileServer du package http pour traiter les fichiers statiques. Par exemple, le code suivant peut afficher tous les fichiers situés dans le répertoire actuel sur le port local 8000.

http.Handle("/", http.FileServer(http.Dir(".")))
Copier après la connexion

Lorsque nous accédons à "localhost:8000" via le navigateur, nous pouvons voir tous les fichiers apparaître dans le navigateur.

4. Résumé

Grâce à l'introduction de cet article, nous avons appris à utiliser Golang pour créer un serveur HTTP. Bien que cet article ne présente que certaines des opérations les plus élémentaires, elles suffisent pour implémenter une application Web simple. Dans le futur processus d'apprentissage, nous pourrons implémenter des applications Web plus riches en utilisant d'autres bibliothèques et frameworks.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal