Sobes.tech
Junior — Middle

Go tilida amalga oshirilgan HTTP-serverining asosiy vazifasi va ishlash prinsiplari haqida tushuntiring

sobes.tech AI

AIdan javob

Go tilida HTTP-server kiruvchi HTTP-so'rovlarni qayta ishlash va mijozlarga (brauzerlar, API-mijozlar va boshqalar) mos HTTP-javoblarni yuborish uchun mo'ljallangan. Asosiy ishlash prinsipi shundan iboratki, server ma'lum bir portda tinglaydi, so'rovlarni qabul qiladi, ularni handlerlar yordamida qayta ishlaydi va natijani qaytaradi.

Go'da HTTP-server yaratish uchun net/http paketi ishlatiladi. Asosiy komponentlar:

  • Handler — so'rovni qayta ishlash uchun javob beradigan funksiya yoki obyekt, http.Handler interfeysini amalga oshiradi.
  • ListenAndServe — serverni ishga tushiradigan va belgilangan manzilda tinglashni boshlaydigan funksiya.

Quyidagi misolda oddiy Go HTTP-serveri ko'rsatilgan:

package main

import (
    "fmt"
    "net/http"
)

func helloHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Salom, dunyo!")
}

func main() {
    http.HandleFunc("/", helloHandler) // Yo'l uchun handlerni ro'yxatdan o'tkazamiz "/"
    http.ListenAndServe(":8080", nil)  // 8080 portda serverni ishga tushiramiz
}

Shu tarzda, Go'da HTTP-serverni oson amalga oshirish mumkin, u samarali va gorutinalar yordamida ichki qo'llab-quvvatlash bilan yaxshi kengaytiriladi.