2.7 KiB
title | localeTitle |
---|---|
A simple web server in Go | خادم الويب بسيط في الذهاب |
تشتهر لغة برمجة Go بوجود خادم ويب مضمن. في هذه المقالة سوف تتعلم كيف يمكنك بسهولة إنشاء خادم الويب الخاص بك مع Go. لن تحتاج إلى أي حزم أخرى بجانب تلك التي بنيت بالفعل!
أولاً ، ادخل إلى محرر النص. ثم قم بإنشاء ملف يسمى webserver.go
وأدخل الكود التالي:
`package main
import ( "net/http" "io" )
func main() { http.HandleFunc("/", servePage) http.ListenAndServe(":8080", nil) }
func servePage(writer http.ResponseWriter, reqest *http.Request) { io.WriteString(writer, "Hello world!") } `
دعونا كسر كتلة الكود أعلاه. نستورد حزمة net/http
: تحتوي هذه الحزمة على خادم الويب نفسه. ثم نستورد أيضًا حزمة io
، سنستخدم هذا لاحقًا لتقديم شيء ما للعميل.
في الوظيفة main
نقوم بعمل شيئين. بادئ ذي بدء ، نطلب من الخادم أن يسمح للوظيفة التي تسمى servePage
بالتعامل مع كل حركة المرور الواردة إلى /
- في هذه الحالة ، تعني أنها تتعامل مع الطلبات إلى أي URL
. الشيء الثاني الذي نقوم به هو تفعيل الخادم. نقوم بذلك باستخدام دالة تسمى ListenAndServe
. تتطلب هذه الوظيفة معلمتين: port
( string
) ، وفي هذه الحالة يكون 8080
، handler
( Handler
) - ومع ذلك فإن الأخير ليس مهمًا حتى الآن. سنجعل فقط nil
، وسوف يعمل كل شيء على ما يرام.
في صفحة servePage
نقوم بعمل شيء واحد بسيط ، في الوقت الحالي. باستخدام حزمة io
ووظيفة WriteString
التي تحتوي عليها ، يمكننا الاستجابة لطلب العملاء بنص Hello world!
(أو أي سلسلة أخرى ، بالطبع). ربما كنت قد لاحظت أيضا أن الدالة servePage
لها servePage
: writer
request
. مع الكاتب يمكنك في الواقع الاستجابة لطلب HTTP
ومع request
قد تحصل على مزيد من المعلومات حول الطلب نفسه.
تهانينا! لقد أنشأت خادم الويب الأول! إذا كنت ترغب في اختباره: فقط قم بتشغيل go run webserver.go
، go run webserver.go
متصفحًا وانتقل إلى http://localhost:8080
!