Junior — Middle
Тавзеҳ диҳед мақсад ва принсипҳои асосии сервери HTTP, ки дар забони Go амалӣ шудааст
sobes.tech AI
Ҷавоб аз AI
Гу тилидаги HTTP сервери кирувчи HTTP сўровларини қайта ишлаш ва мижозларга (браузерлар, API мижозлари ва бошқалар) мос HTTP жавобларини юбориш учун мўлжалланган. Асосий иш принципи шундаки, сервер муайян портда тинглайди, сўровларни қабул қилади, уларни handlers ёрдамида қайта ишлайди ва натижани қайтариб беради.
Goда HTTP сервери яратиш учун net/http пакети ишлатилади. Асосий компонентлар:
- Handler — сўровни қайта ишлашга масъул бўлган функция ёки объект,
http.Handlerинтерфейсини амалга оширади. - ListenAndServe — серверни ишга туширади ва белгиланган манзилда тинглай бошлайди.
Қуйида оддий Go HTTP серверининг намунаси келтирилган:
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 серверни осонлик билан амалга ошириш мумкин, самарали ва gorutinalar орқали ички ҳамкорликни қўллаб-қувватлаши туфайли яхши миқёслаштирилади.