كيفية بناء خادم ويب أساسي باستخدام Go

Go هي لغة برمجة مثيرة للاهتمام لبناء تطبيقات الويب الحديثة بالإضافة إلى برامج النظام. لقد أحدث ضجة كبيرة بعد إصداره وتشغيل خدمات مثل Docker وKubernetes وTerraform وDropbox و Netflix .

علاوة على ذلك، فإن مجموعة Go القوية من الحزم المضمنة تجعلها خيارًا رائعًا لبرمجة الويب. ستوضح لك هذه المقالة كيفية كتابة خادم ويب أساسي في Go.

استيراد الحزم اللازمة

توفر حزمة net/HTTP كل ما يلزم لإنشاء خادم ويب وعميل. تقدم هذه الحزمة بعض الوظائف المفيدة للتعامل مع برمجة الويب.

يمكنك استيراده عن طريق إضافة السطر أدناه إلى بداية الكود المصدري الخاص بك:

import "net/http"

ستستخدم المقالة أيضًا حزمة FMT لتنسيق السلاسل وحزمة السجل لمعالجة الأخطاء. يمكنك استيرادها بشكل فردي كما هو موضح أعلاه، أو استيراد جميع الحزم باستخدام عبارة استيراد واحدة:

import (
"fmt"
"log"
"net/http"
)

يمكنك متابعة كتابة الوظيفة الرئيسية بعد استيراد الحزم الضرورية. تابع واحفظ الملف المصدر بالملحق .go . إذا كنت تستخدم Vim ، فاستخدم الأمر أدناه لحفظ Vim والخروج منه:

:wq server.go

اكتب الوظيفة الرئيسية

توجد برامج Go مباشرة داخل الوظيفة الرئيسية، والتي يطلق عليها اسم "الرئيسية". سوف تحتاج إلى إجراء مكالمة الخادم هنا. أضف الأسطر التالية إلى الكود المصدري وشاهد ماذا يفعلون:

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

المثال هو تعريف الوظيفة الرئيسية باستخدام الكلمة الأساسية func . لدى لعبة Go قواعد صارمة بشأن موضع قوس الافتتاح، لذا تأكد من أن قوس البداية على الخط الصحيح. تحدد العبارة الأولى في main أن جميع طلبات الويب إلى المسار الجذر ( "/" ) سيتم التعامل معها بواسطة الفهرس، وهي وظيفة من النوع http.HandlerFunc .

يبدأ السطر الثاني خادم الويب عبر وظيفة http.ListenAndServe . فهو يشير إلى الخادم للاستماع بشكل مستمر لطلبات HTTP الواردة على منفذ الخادم 8080. المعلمة الثانية لهذه الوظيفة مطلوبة لحظر البرنامج حتى النهاية.

نظرًا لأن http.ListenAndServe يُرجع خطأً دائمًا، فإن المثال يغلف هذا الاستدعاء داخل استدعاء log.Fatal . يسجل هذا البيان أي رسائل خطأ تم إنشاؤها على جانب الخادم.

تنفيذ وظائف المعالجة

كما ترى، تستدعي الوظيفة الرئيسية فهرس وظيفة المعالج للتعامل مع طلبات العميل. ومع ذلك، لم يحدد المثال بعد هذه الوظيفة لملقمه.

دعونا نضيف العبارات الضرورية لجعل وظيفة الفهرس قابلة للاستخدام:

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

تأخذ هذه الوظيفة وسيطتين مختلفتين من النوع http.ResponseWriter و http.Request . تحتوي المعلمة http.ResponseWriter على استجابة الخادم للطلب الوارد، في شكل كائن http.Request .

يتم استخدام الدالة Fprintf من الحزمة fmt لعرض السلاسل النصية ومعالجتها. تستخدم المقالة هذا لعرض استجابة الخادم لطلبات الويب. وأخيرًا، يتم استخدام عنصر r.URL.Path[1:] لجلب البيانات بعد المسار الجذر.

أضف جميع الأجزاء المتبقية

سيكون خادم الويب Go الخاص بك جاهزًا بمجرد إضافة جميع المكونات المتبقية. سيبدو الكود كالتالي:

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

السطر الأول ضروري لتجميع كود خادم الويب Go هذا كملف قابل للتنفيذ.

كيفية بناء خادم ويب أساسي باستخدام Go

قم بتجميع رمز خادم الويب Go هذا كملف قابل للتنفيذ

اترك تعليقاً

كيفية إزالة إشعار طلب حقوق الطبع والنشر في الزاوية اليمنى من الشاشة على نظام التشغيل Windows 10

كيفية إزالة إشعار طلب حقوق الطبع والنشر في الزاوية اليمنى من الشاشة على نظام التشغيل Windows 10

هل ترى إشعار تفعيل Windows 10 في الزاوية اليمنى من الشاشة؟ سترشدك هذه المقالة إلى كيفية حذف إشعار طلب حقوق الطبع والنشر على نظام التشغيل Windows 10.

تعليمات من AZ حول كيفية تثبيت Windows 10 الإصدار 14393.222

تعليمات من AZ حول كيفية تثبيت Windows 10 الإصدار 14393.222

أصدرت Microsoft مؤخرًا آخر تحديث تراكمي لمستخدمي أجهزة الكمبيوتر التي تعمل بنظام Windows 10 والذي يسمى Build 14393.222. يعمل هذا التحديث الذي تم إصداره لنظام التشغيل Windows 10 بشكل أساسي على إصلاح الأخطاء بناءً على تعليقات المستخدمين وتحسين تجربة أداء نظام التشغيل.

قم بحماية شبكة الكمبيوتر الخاص بك مع Bastion host في 3 خطوات فقط

قم بحماية شبكة الكمبيوتر الخاص بك مع Bastion host في 3 خطوات فقط

هل لديك أجهزة كمبيوتر على شبكتك المحلية تحتاج إلى وصول خارجي؟ يمكن أن يكون استخدام مضيف أساسي كحارس بوابة لشبكتك حلاً جيدًا.

3 طرق لمسح كافة سجلات الأحداث بسرعة في نظام التشغيل Windows 10

3 طرق لمسح كافة سجلات الأحداث بسرعة في نظام التشغيل Windows 10

في بعض الأحيان قد تحتاج إلى حذف سجلات الأحداث القديمة مرة واحدة. في هذا الدليل، سيعرض لك موقع Quantrimang.com 3 طرق لحذف كافة سجلات الأحداث بسرعة في Windows 10 Event Viewer.

كيفية إنشاء مفتاح Windows إذا كانت لوحة المفاتيح غير متوفرة

كيفية إنشاء مفتاح Windows إذا كانت لوحة المفاتيح غير متوفرة

إذا كنت تفضل استخدام لوحة مفاتيح كلاسيكية قديمة، مثل IBM Model M، والتي لا تتضمن مفتاح Windows فعليًا، فهناك طريقة سهلة لإضافة المزيد، عن طريق استعارة مفتاح لا تستخدمه كثيرًا.

كيفية إنشاء وضع خلفية شفافة على نظام التشغيل Windows 10

كيفية إنشاء وضع خلفية شفافة على نظام التشغيل Windows 10

WindowTop هي أداة لديها القدرة على تعتيم جميع نوافذ التطبيقات والبرامج التي تعمل على أجهزة الكمبيوتر التي تعمل بنظام Windows 10. أو يمكنك استخدام واجهة ذات خلفية داكنة على النوافذ.

تساعدك أساليب IP المزيفة على الوصول بشكل مجهول

تساعدك أساليب IP المزيفة على الوصول بشكل مجهول

لقد ذكرنا في العديد من المقالات السابقة أن البقاء مجهول الهوية عبر الإنترنت أمر في غاية الأهمية. يتم تسريب المعلومات الخاصة كل عام، مما يجعل الأمان عبر الإنترنت ضروريًا بشكل متزايد. وهذا أيضًا هو السبب وراء ضرورة استخدام عناوين IP الافتراضية. فيما يلي، سنتعرف على طرق إنشاء عناوين IP وهمية!

كيفية إيقاف تشغيل شريط اللغة على شريط مهام Windows 8

كيفية إيقاف تشغيل شريط اللغة على شريط مهام Windows 8

شريط اللغة في نظام التشغيل Windows 8 عبارة عن شريط أدوات لغة مصغر مصمم للعرض تلقائيًا على شاشة سطح المكتب. ومع ذلك، يرغب العديد من الأشخاص في إخفاء شريط اللغة هذا على شريط المهام.

نصائح لتحسين سرعة الاتصال بالإنترنت من Linksys

نصائح لتحسين سرعة الاتصال بالإنترنت من Linksys

يعد تعظيم سرعة الإنترنت أمرًا ضروريًا لتحسين اتصال الشبكة لديك. يمكنك الحصول على تجربة ترفيه وعمل مثالية باستخدام أجهزة الكمبيوتر وأجهزة التلفزيون المجهزة للإنترنت ووحدات التحكم في الألعاب وما إلى ذلك.

كيفية إعداد WEP، WPA، WPA2 لجهاز التوجيه Linksys

كيفية إعداد WEP، WPA، WPA2 لجهاز التوجيه Linksys

يعد الاتصال اللاسلكي أمرًا ضروريًا اليوم، ولهذا السبب، يعد الأمان اللاسلكي ضروريًا لضمان السلامة في شبكتك الداخلية.