Comment créer un serveur Web de base à laide de Go

Comment créer un serveur Web de base à laide de Go

Go est un langage de programmation intéressant pour créer des applications Web modernes ainsi que des logiciels système. Il a créé un énorme buzz après sa sortie et alimente des services comme Docker, Kubernetes, Terraform, Dropbox et Netflix .

De plus, la solide collection de packages intégrés de Go en fait un excellent choix pour la programmation Web. Cet article va vous montrer comment écrire un serveur Web de base dans Go.

Importez les packages nécessaires

Le package net/HTTP fournit tout le nécessaire pour créer un serveur Web et un client. Ce package présente quelques fonctions utiles pour gérer la programmation Web.

Vous pouvez l'importer en ajoutant la ligne ci-dessous au début de votre code source :

import "net/http"

L'article utilisera également le package fmt pour formater les chaînes et le package log pour gérer les erreurs. Vous pouvez les importer individuellement comme indiqué ci-dessus, ou importer tous les packages à l'aide d'une seule instruction d'importation :

import (
"fmt"
"log"
"net/http"
)

Vous pouvez procéder à l'écriture de la fonction principale après avoir importé les packages nécessaires. Allez-y et enregistrez le fichier source avec l' extension .go . Si vous utilisez Vim , utilisez la commande ci-dessous pour enregistrer et quitter Vim :

:wq server.go

Écrivez la fonction principale

Les programmes Go résident directement dans la fonction principale, bien nommée « main ». Vous devrez passer un appel au serveur ici. Ajoutez les lignes suivantes au code source et voyez ce qu'elles font :

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

L'exemple définit la fonction principale à l'aide du mot-clé func . Go a des règles strictes concernant la position de l’accolade d’ouverture, alors assurez-vous que l’accolade de départ est sur la bonne ligne. La première instruction de main définit que toutes les requêtes Web adressées au chemin racine ( "/" ) seront gérées par index, une fonction de type http.HandlerFunc .

La deuxième ligne démarre le serveur web via la fonction http.ListenAndServe . Il signale au serveur d'écouter en permanence les requêtes HTTP entrantes sur le port 8080 du serveur. Le deuxième paramètre de cette fonction est nécessaire pour bloquer le programme jusqu'à la fin.

Étant donné que http.ListenAndServe renvoie toujours une erreur, l'exemple encapsule cet appel dans un appel log.Fatal . Cette instruction enregistre tous les messages d'erreur générés côté serveur.

Implémenter des fonctions de traitement

Comme vous pouvez le voir, la fonction principale appelle la fonction de gestionnaire index pour gérer les demandes des clients. Cependant, l'exemple n'a pas encore défini cette fonctionnalité pour son serveur.

Ajoutons les instructions nécessaires pour rendre la fonction d'index utilisable :

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

Cette fonction prend deux arguments différents de type http.ResponseWriter et http.Request . Le paramètre http.ResponseWriter contient la réponse du serveur à la requête entrante, sous la forme d'un objet http.Request .

La fonction Fprintf du package fmt est utilisée pour afficher et manipuler des chaînes de texte. L'article l'utilise pour afficher la réponse du serveur aux requêtes Web. Enfin, l'élément r.URL.Path[1:] est utilisé pour récupérer les données après le chemin racine.

Ajoutez toutes les parties restantes

Votre serveur Web Go sera prêt une fois que vous aurez ajouté tous les composants restants. Le code ressemblera à ceci :

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

La première ligne est nécessaire pour compiler le code de ce serveur Web Go sous forme de fichier exécutable.

Comment créer un serveur Web de base à l'aide de Go

Compilez ce code du serveur Web Go en tant que fichier exécutable


Comment supprimer lavis de demande de droit dauteur dans le coin droit de lécran sous Windows 10

Comment supprimer lavis de demande de droit dauteur dans le coin droit de lécran sous Windows 10

Voyez-vous une notification d’activation de Windows 10 dans le coin droit de l’écran ? Cet article vous expliquera comment supprimer l'avis de demande de droit d'auteur sous Windows 10.

Instructions de A à Z sur la façon dinstaller Windows 10 build 14393.222

Instructions de A à Z sur la façon dinstaller Windows 10 build 14393.222

Récemment, Microsoft a publié la dernière mise à jour cumulative pour les utilisateurs de PC Windows 10, appelée Build 14393.222. Cette mise à jour publiée pour Windows 10 corrige principalement des bugs basés sur les commentaires des utilisateurs et améliore l'expérience de performances du système d'exploitation.

Protégez votre réseau informatique avec lhôte Bastion en seulement 3 étapes

Protégez votre réseau informatique avec lhôte Bastion en seulement 3 étapes

Avez-vous des ordinateurs sur votre réseau local qui nécessitent un accès externe ? Utiliser un hôte bastion comme gardien de votre réseau peut être une bonne solution.

Comment créer une touche Windows si votre clavier nest pas disponible

Comment créer une touche Windows si votre clavier nest pas disponible

Si vous préférez utiliser un vieux clavier classique, comme l'IBM Model M, qui n'inclut pas de touche Windows physique, il existe une méthode simple pour en ajouter davantage, en empruntant une touche que vous n'utilisez pas souvent.

3 façons deffacer rapidement tous les journaux dévénements dans Windows 10

3 façons deffacer rapidement tous les journaux dévénements dans Windows 10

Parfois, vous devrez peut-être supprimer d’un seul coup les anciens journaux d’événements. Dans ce guide, Quantrimang.com vous montrera 3 façons de supprimer rapidement tous les journaux d'événements dans l'Observateur d'événements Windows 10.

Les fausses méthodes IP vous aident à accéder de manière anonyme

Les fausses méthodes IP vous aident à accéder de manière anonyme

Dans de nombreux articles précédents, nous avons mentionné qu’il est extrêmement important de rester anonyme en ligne. Des informations privées sont divulguées chaque année, ce qui rend la sécurité en ligne de plus en plus nécessaire. C'est aussi la raison pour laquelle nous devrions utiliser des adresses IP virtuelles. Ci-dessous, nous découvrirons les méthodes pour créer de fausses IP !

Comment créer un mode darrière-plan transparent sur Windows 10

Comment créer un mode darrière-plan transparent sur Windows 10

WindowTop est un outil qui a la capacité d'atténuer toutes les fenêtres d'application et tous les programmes exécutés sur les ordinateurs Windows 10. Vous pouvez également utiliser une interface à fond sombre sur Windows.

Comment désactiver la barre de langue sur la barre des tâches de Windows 8

Comment désactiver la barre de langue sur la barre des tâches de Windows 8

La barre de langue sous Windows 8 est une barre d'outils de langue miniature conçue pour s'afficher automatiquement sur l'écran du bureau. Cependant, de nombreuses personnes souhaitent masquer cette barre de langue dans la barre des tâches.

Comment configurer WEP, WPA, WPA2 pour le routeur Linksys

Comment configurer WEP, WPA, WPA2 pour le routeur Linksys

La connectivité sans fil est aujourd’hui une nécessité et pour cette raison, la sécurité sans fil est essentielle pour garantir la sécurité de votre réseau interne.

Conseils pour optimiser la vitesse de connexion Internet de Linksys

Conseils pour optimiser la vitesse de connexion Internet de Linksys

Maximiser la vitesse d’Internet est essentiel pour optimiser votre connexion réseau. Vous pouvez vivre une expérience de divertissement et de travail optimale en utilisant des ordinateurs, des téléviseurs connectés à Internet, des consoles de jeux, etc.