تعلم ASP.NET MVC


الدرس: ما هو موقع الويب؟


الصفحة السابقة

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

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

كيف يعمل الموقع


موقع الويب عبارة عن مجموعة من الملفات التي يتم استضافتها على خادم ، ويتم عرضها بواسطة متصفح الإنترنت ، ويتم تنسيقها بواسطة محرك تقديم. ليس واضحا جدا؟ دعونا نقدّم بعض التفاصيل:

يمكن أن تكون هذه الملفات صفحات HTML بسيطة (ملحق .htm أو .html ) أو ملفات قابلة للتنفيذ والتي سيتم تفسيرها بواسطة محرك التقديم.
الخادم هو جهاز كمبيوتر واحد (أو أكثر) قوي يستضيف التطبيقات ويمكن الاتصال به عبر عنوان إنترنت ، على سبيل المثال:https://www.arabclassroom.com  .

يوجد على هذا الخادم بالطبع نظام تشغيل ( Windows ، Linux ، ... ) ولكن أيضًا تطبيقات الكمبيوتر بما في ذلك نظام معين يُستخدم لتشغيل تطبيقات الويب ، وهذا ما أسميه محرك التقديم .
عندما يرغب المستخدم في التنقل الى موقع ArabClassroom ، فسيقوم بإدخال عنوان الموقع في متصفحه ( Internet Explorer ، و Firefox ، و Chrome ، وما إلى ذلك ) وسيعرض المتصفح صفحة HTML .

ما يحدث في الواقع هو أنه عند محاولة الوصول إلى صفحة من موقع (على سبيل المثال https://www.arabclassroom.com/modules) ، سيتصل المحرك بهذا العنوان و يطلب من العارض تحويل الصفحة المطلوبة إلى شيء يمكن فهمه وعرضه بواسطة المتصفح ، في هذه الحالة HTML .
c sharp .net framework
كيف يعمل الموقع
لتجنب الاختلاط ، تحدثت عن محرك التقديم. حان الوقت للاتصال به باسمه الصغير: خادم الويب. نحن هنا نتحدث عن تطبيق يهتم بتشغيل تطبيق الويب. يجب عدم الخلط بينه وبين الخادم وهو جهاز فعلي مثبت عليه خادم الويب.

مواقع ثابتة ، مواقع ديناميكية


لقد تصفحتم جميعًا موقع ويب من قبل. إذا! إذا كنت تقرأ هذه الدورة التدريبية بالفعل على الإنترنت ، فقد ذهبت إلى صفحة على موقع ArabClassroom . هناك مواقع ويب معقدة إلى حد ما ، ولكن يمكننا تصنيفها تقريبًا إلى فئتين رئيسيتين: المواقع الثابتة والمواقع الديناميكية.

في ما يسمى الموقع الثابت ، يكون الأمر يشبه إلى حد ما إذا قمت بعرض مستند من معالج النصوص. إنه محتوى منظم تم إتاحته هناك بفضل لغة البرمجة المصممة لذلك: HTML . أدخلت في شريط متصفح الإنترنت الخاص بك عنوان الموقع ، فلنأخذ على سبيل المثال موقعًا لطيفًا حيث أتيحت لي الفرصة لقضاء بضع ليالٍ ممتعة ،  http://www.lesmelusines.com/Discover.htm . تتوافق صفحة Discover.htm مع مستند منظم موجود على الموقع http://www.lesmelusines.com/ . هناك العديد من المستندات المهيكلة على موقع الويب هذا (دعنا نستشهد بالصفحة   http://www.lesmelusines.com/acces.htm )، ثم يطلب من متصفحنا عرض هذه الصفحة ، فإنه يفسر محتوى هذه الوثيقة المنظمة ويعرضها في المتصفح الخاص بك.
هذا النوع من المواقع مفيد جدًا لتقديم المعلومات ولكنه محدود جدّا. تخيل أنه على موقع ArabClassroom ، أقوم بتعليمك ASP.NET MVC ولكن هناك شيء غير واضح جدًا ... والحل الأفضل هو أن تكون قادراً على وضع تعليق يسأل عن الدقة بحيث يمكنني (أو قارئ آخر) توضيح هذه النقطة بالذات. وهذا غير ممكن باستخدام HTML بسيط ...

هذا هو المكان الذي تدخل فيه المواقع الديناميكية المزعومة حيز التنفيذ ... في الواقع ، اليوم ، لا يوجد شيء أكثر من ذلك. قليل من المواقع التي تعرض HTML فقط ، بصرف النظر عن بعض الصفحات الشخصية المفقودة في أعماق معاني الإنترنت أو المواقع التي تحتاج فقط إلى عرض بعض المعلومات ، مثل موقع gite على سبيل المثال. موقع ArabClassroom على سبيل المثال هو موقع ديناميكي ، يمكن للمستخدمين طرح الأسئلة في المنتدى ، والتعليق على الدورات ، والتسجيل ، وتغيير صورة ملفهم الشخصي ... موقع البنك الخاص بك هو أيضًا موقع ديناميكي ، والذي يعرض حالة حسابك بشكل دائم ؛ وهو ليس إنسانًا ، في كل مرة تقوم فيها بالدفع ، يقوم بتغيير صفحة HTML لتعكس التغييرات.
هذه المواقع قادرة على تشغيل البرامج التي ستكون قادرة على عرض معلومات مختلفة حسب الحاجة. هذا هو دور خادم الويب ، فهو ينفذ الصفحة الديناميكية (والتي يمكن على سبيل المثال عرض قائمة بجميع رسائل المستخدم) وتحويلها إلى HTML بحيث يمكن عرضها بواسطة متصفح الإنترنت.
عندما نتحدث عن تطبيق الويب ، فهو موقع ديناميكي.

الطلبات GET و POST


عندما تدخل إلى موقع ويب ويُطلب منك إعادة محتوى الصفحة إلينا ، فأنت تقوم بعمل ما يسمى "طلب http " على الموقع. تذكر أن هذا يتوافق مع الخطوتين 1 و 3 في الرسم التخطيطي لموقع الويب الخاص بنا:
c sharp .net framework
طلب HTTP يتوافق مع إرسال طلب وتلقي الرد

خادم الويب قادر على تفسير عدة أنواع من الطلبات. تلك التي ستكون مفيدة لنا هنا هي طلبات النوع GET ونوع POST .
يتوافق طلب من نوع GET (والذي يمكن ترجمته كـ "الحصول على") مع طلب يتيح لنا الحصول على مورد للقراءة فقط من موقع الويب. هذا هو الاستعلام الأكثر استخدامًا والذي يسمح لخادم الويب أن يقول "أعطني HTML المتوافق مع هذه الصفحة" ، على سبيل المثال http://www.lesmelusines.com/index.htm  . هنا ، سيرسل لك الخادم منضبط بشكل جيد HTML المطابق لملف index.htm .

من الممكن تمرير المُدخلات إلى طلب GET ، لذلك نستخدم إنشاء محدد لعنوان URL . على سبيل المثال ، تخيل صفحة وهمية على موقع ArabClassroom تتيح لك عرض دورة تدريبية.
إنه مجرد مثال لأن موقع ArabClassroom لا يعمل بهذه الطريقة.

دعونا ندعو هذه الصفحة الوهمية pagedecours.html . لعرض دورة ASP.NET ، يمكننا التفكير في الذهاب إلى هذه الصفحة بهذه الطريقة: https://www.arabclassroom.com/pagedecours.html?cours=ASP.NET .   هذا ممكن بفضل علامة الاستفهام (؟) التي يتم وضعها بعد اسم صفحة الويب ، والتي تعمل بمثابة فاصل والتي تشير إلى أن هناك بعد ذلك المُدخلات. هنا ، سيكون مُدخل الدورة التدريبية يساوي ASP.NET ، والتي ستعرض الدورة التدريبية التي تهمنا. لعرض الدورة التدريبية على PHP ، يجب عليك القيام به على سبيل المثال https://www.arabclassroom.com/pagedecours.html?cours=PHP .
من الممكن تمرير العديد من المُدخلات إلى طلب GET ، فقط قم بسلاسل المُدخلات وفصلها بالرمز & . على سبيل المثال ، مع مثال صفحتي الوهمية https://www.arabclassroom.com/pagedecours.html ، إذا كنت أرغب في العثور على دورتي التدريبية عبر الإنترنت على ASP.NET ، فيمكنني تقديم طلب GET بمُدخلين

https://www.arabclassroom.com/pagedecours.html?cours=ASP.NET&auteur=nico.pyright
 يجب أن تفهم أن مُدخل الدورة التدريبية يساوي ASP.NET وأن مُدخل المؤلف يساوي nico.pyright
لاحظ أن طلب GET يتوافق مع استشارة ، يجب ألا يعدل محتوى الصفحة ويجب أن يكون قابلاً لإعادة تنفيذ الإعلان بلا حدود.
يرسل طلب POST (والذي يمكن ترجمته كـ "إرسال") البيانات إلى مورد على موقع ويب. هذا هو الحال عادة في نموذج HTML ، على سبيل المثال عندما تقوم بالتسجيل في موقع ArabClassroom ، يجب عليك تقديم اسم المستخدم والبريد الإلكتروني وكلمة المرور ، إلخ. في نموذج التسجيل:

c sharp .net framework
نموذج تسجيل ArabClassroom
يجب إرسال هذه البيانات إلى خادم الويب حتى يتمكن من التسجيل وإرسال رسالة بريد إلكتروني ترحيبية إليك.
طلب POST يعدل البيانات ، يجب ألا يكون عادةً قادراً على تنفيذ الإعلان بلا حدود. على سبيل المثال هنا ، يجب ألا أتمكن من تسجيل المستخدم نفسه مرتين.
سنرى لاحقًا كيفية تسجيل طلبات HTTP هذه في تطبيقات ASP.NET MVC الخاصة بنا.

في الخلاصة


  • يتكون موقع الويب من مجموعة من صفحات HTML
  • يمكن أن يكون موقع الويب ثابتًا أو ديناميكيًا
  • اليوم ، هناك مواقع ديناميكية فقط تقريبًا
  • يمكن لخادم الويب تشغيل برامج صغيرة تقوم بإرجاع HTML ليتم عرضها في متصفح الإنترنت
  • للوصول إلى صفحة موقع الويب على متصفح الإنترنت الخاص بنا ، نقوم بعمل ما يسمى بـ "طلب http " من خادم الويب الذي يستضيف الموقع. يقوم خادم الويب بعد ذلك بتشغيل برامج صغيرة تُرجع HTML وتتيح لنا عرض صفحة الموقع في متصفحنا.
  • يمكن تقديم عدة أنواع من الطلبات على خادم ويب ، ولا سيما طلبات GET و POST التي تسمح على التوالي بالاطلاع مع المعلومات وإرسالها.