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 complètement la barre doutils Yahoo et la recherche. Yahoo. com ?

Comment supprimer complètement la barre doutils Yahoo et la recherche. Yahoo. com ?

Yahoo Search est un moteur de recherche légitime. Cependant, il est également considéré comme un pirate de navigateur, redirigeant les utilisateurs vers la recherche. Yahoo. com. Ce pirate de navigateur détournera la page d'accueil du navigateur Web et les paramètres du moteur de recherche pour afficher la page d'accueil et le moteur de recherche Yahoo Search au lieu de la page d'accueil et du moteur de recherche que vous avez précédemment configurés.

En savoir plus sur la fonctionnalité Fin de tâche dans Windows

En savoir plus sur la fonctionnalité Fin de tâche dans Windows

Fin de tâche est une fonctionnalité du Gestionnaire des tâches de Microsoft Windows. Il se trouve dans l'onglet Applications et permet aux utilisateurs de fermer tout programme qui répond ou ne répond pas.

Windows + V : raccourci utile que de nombreux utilisateurs de Windows ne connaissent pas

Windows + V : raccourci utile que de nombreux utilisateurs de Windows ne connaissent pas

Comme beaucoup d'autres plates-formes, Windows dispose également d'un gestionnaire de presse-papiers spécialisé appelé « Historique du presse-papiers ».

Comment installer le widget macOS Big Sur/iOS 14 sur Windows 10

Comment installer le widget macOS Big Sur/iOS 14 sur Windows 10

La version macOS Big Sur a été officiellement annoncée lors de la récente conférence WWDC. Et vous pouvez complètement amener l'interface de macOS Big Sur sur Windows 10 avec l'outil Rainmeter.

Comment protéger le bureau distant contre le malware RDStealer

Comment protéger le bureau distant contre le malware RDStealer

RDStealer est un malware qui tente de voler des informations d'identification et des données en infectant un serveur RDP et en surveillant ses connexions à distance.

7 meilleurs logiciels de gestion de fichiers pour Windows pour remplacer lExplorateur de fichiers

7 meilleurs logiciels de gestion de fichiers pour Windows pour remplacer lExplorateur de fichiers

Il est peut-être temps de dire au revoir à l'Explorateur de fichiers et d'utiliser un logiciel de gestion de fichiers tiers ? Voici les 7 meilleures alternatives à l’Explorateur de fichiers Windows.

Comment fonctionne LoRaWAN ? Pourquoi est-ce important pour l’IoT ?

Comment fonctionne LoRaWAN ? Pourquoi est-ce important pour l’IoT ?

LoRaWAN ou Long Range Wireless Area Network est utile pour la communication entre des appareils à faible consommation sur de longues distances.

8 façons douvrir les options de démarrage avancées sur Windows 10

8 façons douvrir les options de démarrage avancées sur Windows 10

En accédant aux options de démarrage avancées, vous pouvez réinitialiser Windows 10, restaurer Windows 10, restaurer Windows 10 à partir d'un fichier image que vous avez créé précédemment, corriger les erreurs de démarrage, ouvrir l'invite de commande pour exécuter des options différentes, ouvrir les paramètres UEFI, modifier les paramètres de démarrage. ..

Pourquoi faut-il bien réfléchir avant de se connecter avec un compte de réseau social ?

Pourquoi faut-il bien réfléchir avant de se connecter avec un compte de réseau social ?

Chaque fois que vous vous inscrivez à un nouveau service, vous pouvez choisir un nom d'utilisateur et un mot de passe ou simplement vous connecter avec Facebook ou Twitter. Mais faut-il le faire ?

Instructions pour changer Google DNS 8.8.8.8 et 8.8.4.4

Instructions pour changer Google DNS 8.8.8.8 et 8.8.4.4

DNS Google 8.8.8.8 8.8.4.4 est l'un des DNS que de nombreux utilisateurs choisissent d'utiliser, notamment pour accélérer l'accès au réseau ou l'accès bloqué à Facebook.