Πώς να δημιουργήσετε έναν βασικό διακομιστή ιστού χρησιμοποιώντας το Go

Πώς να δημιουργήσετε έναν βασικό διακομιστή ιστού χρησιμοποιώντας το Go

Η Go είναι μια ενδιαφέρουσα γλώσσα προγραμματισμού για την κατασκευή σύγχρονων εφαρμογών Ιστού καθώς και λογισμικού συστήματος. Δημιούργησε τεράστιο buzz μετά την κυκλοφορία του και εξουσιοδοτεί υπηρεσίες όπως το Docker, το Kubernetes, το Terraform, το Dropbox και το Netflix .

Επιπλέον, η ισχυρή συλλογή ενσωματωμένων πακέτων του Go το καθιστά εξαιρετική επιλογή για προγραμματισμό ιστού. Αυτό το άρθρο θα σας δείξει πώς να γράψετε έναν βασικό διακομιστή ιστού στο Go.

Εισαγάγετε τα απαραίτητα πακέτα

Το πακέτο net/HTTP παρέχει όλα όσα χρειάζονται για τη δημιουργία ενός διακομιστή web και ενός πελάτη. Αυτό το πακέτο παρουσιάζει μερικές χρήσιμες λειτουργίες για το χειρισμό του προγραμματισμού Ιστού.

Μπορείτε να το εισαγάγετε προσθέτοντας την παρακάτω γραμμή στην αρχή του πηγαίου κώδικα:

import "net/http"

Το άρθρο θα χρησιμοποιήσει επίσης το πακέτο fmt για τη μορφοποίηση συμβολοσειρών και το πακέτο καταγραφής για τη διαχείριση σφαλμάτων. Μπορείτε να τα εισαγάγετε μεμονωμένα όπως φαίνεται παραπάνω ή να εισαγάγετε όλα τα πακέτα χρησιμοποιώντας μια ενιαία δήλωση εισαγωγής:

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

Μπορείτε να προχωρήσετε στη σύνταξη της κύριας λειτουργίας αφού εισάγετε τα απαραίτητα πακέτα. Προχωρήστε και αποθηκεύστε το αρχείο προέλευσης με την επέκταση .go . Εάν χρησιμοποιείτε το Vim , χρησιμοποιήστε την παρακάτω εντολή για αποθήκευση και έξοδο από το Vim:

:wq server.go

Γράψτε την κύρια συνάρτηση

Τα προγράμματα Go βρίσκονται απευθείας στην κύρια συνάρτηση, που εύστοχα ονομάζεται "κύρια". Θα χρειαστεί να πραγματοποιήσετε μια κλήση διακομιστή εδώ. Προσθέστε τις ακόλουθες γραμμές στον πηγαίο κώδικα και δείτε τι κάνουν:

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

Το παράδειγμα είναι ο καθορισμός της κύριας συνάρτησης χρησιμοποιώντας τη λέξη-κλειδί func . Το Go έχει αυστηρούς κανόνες σχετικά με την τοποθέτηση του ανοιγόμενου σιδερώματος, οπότε βεβαιωθείτε ότι το στήριγμα εκκίνησης βρίσκεται στη σωστή γραμμή. Η πρώτη δήλωση στο main ορίζει ότι όλα τα αιτήματα Ιστού προς τη διαδρομή ρίζας ( "/" ) θα αντιμετωπίζονται με ευρετήριο, μια συνάρτηση του τύπου http.HandlerFunc .

Η δεύτερη γραμμή ξεκινά τον διακομιστή web μέσω της συνάρτησης http.ListenAndServe . Σηματοδοτεί τον διακομιστή να ακούει συνεχώς τα εισερχόμενα αιτήματα HTTP στη θύρα 8080 του διακομιστή. Η δεύτερη παράμετρος αυτής της συνάρτησης χρειάζεται για να μπλοκάρει το πρόγραμμα μέχρι το τέλος.

Δεδομένου ότι το http.ListenAndServe επιστρέφει πάντα ένα σφάλμα, το παράδειγμα αναδιπλώνει αυτήν την κλήση μέσα σε ένα log.Fatal κλήση . Αυτή η δήλωση καταγράφει τυχόν μηνύματα σφάλματος που δημιουργούνται από την πλευρά του διακομιστή.

Εφαρμογή συναρτήσεων επεξεργασίας

Όπως μπορείτε να δείτε, η κύρια συνάρτηση καλεί το ευρετήριο συνάρτησης χειριστή για να χειριστεί αιτήματα πελατών. Ωστόσο, το παράδειγμα δεν έχει ακόμη ορίσει αυτήν τη λειτουργία για τον διακομιστή του.

Ας προσθέσουμε τις απαραίτητες δηλώσεις για να κάνουμε τη συνάρτηση ευρετηρίου χρησιμοποιήσιμη:

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

Αυτή η συνάρτηση παίρνει δύο διαφορετικά ορίσματα τύπου http.ResponseWriter και http.Request . Η παράμετρος http.ResponseWriter περιέχει την απάντηση του διακομιστή στο εισερχόμενο αίτημα, με τη μορφή αντικειμένου http.Request .

Η συνάρτηση Fprintf από το πακέτο fmt χρησιμοποιείται για την εμφάνιση και το χειρισμό συμβολοσειρών κειμένου. Το άρθρο το χρησιμοποιεί αυτό για να εμφανίσει την απάντηση του διακομιστή σε αιτήματα ιστού. Τέλος, το στοιχείο r.URL.Path[1:] χρησιμοποιείται για την ανάκτηση δεδομένων μετά τη διαδρομή ρίζας.

Προσθέστε όλα τα υπόλοιπα μέρη

Ο διακομιστής ιστού Go σας θα είναι έτοιμος μόλις προσθέσετε όλα τα υπόλοιπα στοιχεία. Ο κώδικας θα μοιάζει με αυτό:

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))
}

Η πρώτη γραμμή απαιτείται για τη μεταγλώττιση αυτού του κώδικα διακομιστή ιστού Go ως εκτελέσιμο αρχείο.

Πώς να δημιουργήσετε έναν βασικό διακομιστή ιστού χρησιμοποιώντας το Go

Μεταγλωττίστε αυτόν τον κώδικα διακομιστή ιστού Go ως εκτελέσιμο αρχείο


Μάθετε για τα τείχη προστασίας, το Τείχος προστασίας των Windows στον Windows Server 2012

Μάθετε για τα τείχη προστασίας, το Τείχος προστασίας των Windows στον Windows Server 2012

Το τείχος προστασίας των Windows με προηγμένη ασφάλεια είναι ένα τείχος προστασίας που εκτελείται στον Windows Server 2012 και είναι ενεργοποιημένο από προεπιλογή. Η διαχείριση των ρυθμίσεων του τείχους προστασίας στον Windows Server 2012 γίνεται στο Τείχος προστασίας των Windows Microsoft Management Console.

Πώς να αλλάξετε τον κωδικό πρόσβασης σύνδεσης μόντεμ και δρομολογητή Vigor Draytek

Πώς να αλλάξετε τον κωδικό πρόσβασης σύνδεσης μόντεμ και δρομολογητή Vigor Draytek

Κατά την αλλαγή του κωδικού πρόσβασης της σελίδας διαχείρισης σύνδεσης Vigor Draytek Modem και Router, οι χρήστες θα περιορίσουν τη μη εξουσιοδοτημένη πρόσβαση για την αλλαγή του κωδικού πρόσβασης του μόντεμ, διασφαλίζοντας σημαντικές πληροφορίες δικτύου.

Πώς να υπερχρονίσετε εύκολα τη μνήμη RAM με το AMD Ryzen Master

Πώς να υπερχρονίσετε εύκολα τη μνήμη RAM με το AMD Ryzen Master

Ευτυχώς, οι χρήστες υπολογιστών με Windows που διαθέτουν επεξεργαστές AMD Ryzen μπορούν να χρησιμοποιήσουν το Ryzen Master για να υπερχρονίσουν εύκολα τη μνήμη RAM χωρίς να αγγίξουν το BIOS.

7 τρόποι για να διορθώσετε σφάλματα φορητού υπολογιστή Windows που δεν φορτίζονται μέσω USB-C

7 τρόποι για να διορθώσετε σφάλματα φορητού υπολογιστή Windows που δεν φορτίζονται μέσω USB-C

Η θύρα USB-C έχει γίνει το πρότυπο για μεταφορά δεδομένων, έξοδο βίντεο και φόρτιση σε σύγχρονους φορητούς υπολογιστές με Windows. Αν και αυτό είναι βολικό, μπορεί να είναι απογοητευτικό όταν συνδέετε τον φορητό υπολογιστή σας σε φορτιστή USB-C και δεν φορτίζει.

Πώς να διορθώσετε το σφάλμα Δεν είναι δυνατή η δημιουργία υπηρεσίας στο Ultraviewer

Πώς να διορθώσετε το σφάλμα Δεν είναι δυνατή η δημιουργία υπηρεσίας στο Ultraviewer

Το σφάλμα Cannot Create Service στο Ultraviewer παρουσιάζεται όταν εγκαθιστούμε το λογισμικό με κωδικό σφάλματος 1072.

Πώς να διορθώσετε το σφάλμα της μη εμφάνισης αναγνωριστικού στο Ultraviewer

Πώς να διορθώσετε το σφάλμα της μη εμφάνισης αναγνωριστικού στο Ultraviewer

Το σφάλμα της μη εμφάνισης αναγνωριστικού στο Ultraviewer θα επηρεάσει την απομακρυσμένη σύνδεση του υπολογιστή.

Πώς να χρησιμοποιήσετε το Ultraviewer για αποστολή και λήψη αρχείων

Πώς να χρησιμοποιήσετε το Ultraviewer για αποστολή και λήψη αρχείων

Το Ultraviewer ελέγχει τον υπολογιστή από απόσταση και διαθέτει λειτουργία αποστολής και λήψης αρχείων.

6 τρόποι για να διαγράψετε οριστικά αρχεία στα Windows

6 τρόποι για να διαγράψετε οριστικά αρχεία στα Windows

Κανονικά, κατά τη διαγραφή ενός αρχείου στα Windows, το αρχείο δεν θα διαγραφεί αμέσως αλλά θα αποθηκευτεί στον Κάδο Ανακύκλωσης. Μετά από αυτό, θα πρέπει να κάνετε ένα ακόμη βήμα: να αδειάσετε τα σκουπίδια. Αλλά αν δεν θέλετε να χρειαστεί να κάνετε αυτό το δεύτερο βήμα, θα σας δείξουμε πώς να διαγράψετε οριστικά ένα αρχείο στο παρακάτω άρθρο.

Πώς ο σκοτεινός ιστός επηρεάζει την ασφάλεια;

Πώς ο σκοτεινός ιστός επηρεάζει την ασφάλεια;

Ο σκοτεινός ιστός είναι ένα μυστηριώδες μέρος με λαμπρή φήμη. Η εύρεση του σκοτεινού ιστού δεν είναι δύσκολη. Ωστόσο, το να μάθετε πώς να πλοηγείστε σε αυτό με ασφάλεια είναι ένα άλλο θέμα, ειδικά αν δεν ξέρετε τι κάνετε ή τι να περιμένετε.

Τι είναι ο ιός Adrozek; Πώς να προστατευτείτε από τον ιό Adrozek

Τι είναι ο ιός Adrozek; Πώς να προστατευτείτε από τον ιό Adrozek

Τεχνικά, το Adrozek δεν είναι ιός. Είναι ένας αεροπειρατής προγράμματος περιήγησης, γνωστός και ως τροποποιητής προγράμματος περιήγησης. Αυτό σημαίνει ότι εγκαταστάθηκε κακόβουλο λογισμικό στον υπολογιστή σας χωρίς να το γνωρίζετε.