Junior — Middle
Go dilinde uygulanmış bir HTTP sunucusunun temel amacı ve çalışma prensiplerini açıklayın
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde HTTP sunucusu, gelen HTTP isteklerini işlemek ve istemcilere (tarayıcılar, API istemcileri vb.) uygun HTTP yanıtları göndermek üzere tasarlanmıştır. Temel çalışma prensibi, sunucunun belirli bir bağlantı noktasında dinlemesi, istekleri alması, işleyiciler (handlers) aracılığıyla işlemesi ve sonucu geri göndermesidir.
Go'da HTTP sunucusu oluşturmak için net/http paketi kullanılır. Ana bileşenler şunlardır:
- Handler — isteği işlemekle sorumlu olan,
http.Handlerarayüzünü uygulayan fonksiyon veya nesne. - ListenAndServe — sunucuyu başlatan ve belirtilen adreste dinlemeye başlayan fonksiyon.
İşte Go'da basit bir HTTP sunucusu örneği:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Merhaba, dünya!")
}
func main() {
http.HandleFunc("/", helloHandler) // Yola göre işleyici kaydedilir "/"
http.ListenAndServe(":8080", nil) // Port 8080'de sunucu başlatılır
}
Bu şekilde, Go'daki HTTP sunucusu kolayca uygulanabilir, etkilidir ve yerel eşzamanlılık desteği sayesinde iyi ölçeklenebilir.