Junior — Middle
Εξηγήστε τον κύριο σκοπό και τις αρχές λειτουργίας ενός διακομιστή HTTP που υλοποιείται στη γλώσσα Go
sobes.tech AI
Απάντηση από AI
Ο διακομιστής HTTP σε Go έχει σχεδιαστεί για να χειρίζεται εισερχόμενα αιτήματα HTTP και να στέλνει αντίστοιχες απαντήσεις HTTP στους πελάτες (προγράμματα περιήγησης, πελάτες API κ.λπ.). Η βασική αρχή λειτουργίας είναι ότι ο διακομιστής ακούει σε μια συγκεκριμένη θύρα, λαμβάνει τα αιτήματα, τα επεξεργάζεται μέσω χειριστών (handlers) και επιστρέφει το αποτέλεσμα.
Στο Go, το πακέτο net/http χρησιμοποιείται για τη δημιουργία διακομιστών HTTP. Τα κύρια στοιχεία είναι:
- Handler — μια λειτουργία ή αντικείμενο που υλοποιεί τη διεπαφή
http.Handler, υπεύθυνο για την επεξεργασία του αιτήματος. - ListenAndServe — μια λειτουργία που ξεκινά τον διακομιστή και αρχίζει να ακούει στη διεύθυνση που ορίζεται.
Παράδειγμα ενός απλού διακομιστή HTTP σε Go:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Γειά σου, κόσμε!")
}
func main() {
http.HandleFunc("/", helloHandler) // Καταχωρούμε τον χειριστή για το μονοπάτι "/"
http.ListenAndServe(":8080", nil) // Ξεκινάμε τον διακομιστή στην πόρτα 8080
}
Έτσι, ο διακομιστής HTTP σε Go είναι εύκολος στην υλοποίηση, αποδοτικός και καλά κλιμακούμενος χάρη στην ενσωματωμένη υποστήριξη για ταυτόχρονη εκτέλεση μέσω goroutines.