Junior — Middle
გთხოვთ, ახსენით HTTP სერვერის ძირითადი დანიშნულება და მუშაობის პრინციპები, რომელიც განხორციელებულია Go ენაზე
sobes.tech AI
პასუხი AI-სგან
გო ენაზე HTTP სერვერი განკუთვნილია შემომავალი HTTP მოთხოვნების დამუშავებისთვის და შესაბამისი HTTP პასუხების გადაცემისთვის მომხმარებლებს (ბრაუზერებს, API-კლიენტებს და ა.შ.). ძირითადი მუშაობის პრინციპი ის არის, რომ სერვერი უსმენს გარკვეულ პორტზე, იღებს მოთხოვნებს, მათ handler-ების დახმარებით processing და პასუხს აბრუნებს.
Go-ში HTTP სერვერის შექმნისთვის გამოიყენება net/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) // რეგისტრაცია handler-ის მისამართისთვის "/"
http.ListenAndServe(":8080", nil) // სერვერის დაწყება 8080 პორტზე
}
ასე, Go-ში HTTP სერვერი მარტივია განსახორციელებელი, ეფექტურია და კარგად მასშტაბირდება goroutines-ის მხარდაჭერის წყალობით, რომელიც ინტეგრირებულია კონკურენტობის მხარდაჭერაში.