5.6 کتابخانه http سمت سرور مقدماتی

5.6 کتابخانه http سمت سرور مقدماتی

یکی از قابلیت های زبان گو این است که می توان با استفاده از کتابخانه http داخلی گو استفاده کرده و وب سرور پیاده سازی کرد.

برای پیاده سازی یک وب سرور حداقل به 3 چیز نیاز داریم: 1) مسیر 2) درگاه وب سرور 3) مقدار برگشتی

مسیر: عبارت است از URL منحصر به فرد برای ارسال و دریافت اطلاعات ورودی

درگاه وب سرور: هر وب سرور نیاز دارد که درگاه (Port) خاصی را در اختیار داشته باشد و همواره به آن درگاه گوش بسپارد.

مقدار برگشتی: هرگاه کاربر به مسیری وارد میشود یا اطلاعاتی را برای وب سرور ارسال میکند، مقداری از سمت سرور برای کاربر ارسال میشود.

یک نمونه وب سرور در گو

 1package main
 2
 3import (
 4	"fmt"
 5	"net/http"
 6)
 7
 8func main() {
 9	// مسیر / یا root را برای این تابع انتخاب میکنیم (کد این تابع با صدا شدن مسیر localhost:3000 اجرا می شود)
10	http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
11		// مقدار hello world را در مسیر مشخص شده برمیگردانیم 
12		_, err := fmt.Fprint(writer, "<h1>Hellow World!</h1>")
13		if err != nil {
14			return
15		}
16	})
17
18	fmt.Println("Starting The Server on :3000...")
19	// به درخواست های ارسال شده به پورت 3000 با پروتوکول http گوش میکنیم (سرور در انتظار درخواست از سمت کاربر یا client) می ماند
20	err := http.ListenAndServe(":3000", nil)
21	if err != nil {
22		return
23	}
24
25}

با وارد شدن به آدرس localhost:3000 مقدار برگشته شده در ‍handleFunc را مشاهده خواهید کرد.