فكرة عمل الموقع الإلكتروني
الموقع الإلكتروني هو عبارة عن مجموعة من الملفات والصفحات المترابطة يمكن الوصول إليها وتصفحها من خلال عنوان الموقع , ويسمى النطاق أو الدومين ( Domain ),حيث يتم حفظ تلك الملفات والصفحات علي مضيف ( Host ) , وتسمي عملية حفظ الملفات هذه بإستضافة الموقع ( Website Hosting ) ويطلق علي الجهاز المضيف بالخادم ( Server ) حيث يقوم بخدمة وإدارة ملفات الموقع وقواعد البيانات ( Database ) الخاصة به. وتعتمد الفكرة الأساسية للموقع الإلكتروني علي عملية إراسال الطلبات من المتصفح (مثل : جوجل كروم) وإستقبال الردود من الخادم.
إجراءات الطلبات/الردود
بشكل مبسط جداً عملية الطلبات/الردود تتكون من متصفح يطلب معلومات من الخادم , ثم يرد الخادم بإرسال المعلومات للمتصفح , ثم يتولي المتصفح عرض المعلومات.وهذا هو الموقع الثابت Static website
تسلسل خطوات عملية الطلب/الرد
1- تقوم بإدخال عنوان الموقع في شريط عنوان المتصفح.
2- يقوم المتصفح بالبحث عن الـ IP الخاص بعنوان الموقع.
3- يقوم المتصفح بإرسال طلب للحصول علي الصفحة الرئيسية لعنوان المواقع.
4- يمرر الطلب خلال شبكة الإنترنت حتي يصل إلي عنوان المواقع .
5- يستلم السرفر الطلب ثم يقوم بالبحث عن الصفحة في القرص الصلب المحفوظ عليه ملفات الموقع.
6- يحصل السيرفر علي الصفحة ثم يقوم بإرسالها إلي المتصفح.
7- يقوم المتصفح بعرض الصفحة.
وفي هذا النوع من الصفحات الثابتة يتم طلب كل عنصر من عناصر الصفحة مرة واحدة , مثل الصور , الفيديو, فلاش وحتي ملفات الـ CSS .
أما في المواقع الديناميكية Dynamic Websites تكون عملية الطلبات/الردود أكثر تعقيداً , لأن الموقع يتم برمجته للحصول علي هذه الديناميكية حيث يتم تحديث محتويات الموقع في كل مرة يتم فتحه. فتزيد علي عملية الطلبات/الردود خطوات ترجمة لغة البرمجة وإداراتها بإستخدام PHP و MySQL .
تسلسل خطوات عملية الطلب/الرد
1- تقوم بإدخال عنوان الموقع في شريط عنوان المتصفح.
2- يقوم المتصفح بالبحث عن الـ IP الخاص بعنوان الموقع.
3- يقوم المتصفح بإرسال طلب للحصول علي الصفحة الرئيسية لعنوان المواقع.
4- يمرر الطلب خلال شبكة الإنترنت حتي يصل إلي عنوان المواقع .
5- يستلم السيرفر الطلب ثم يقوم بالبحث عن الصفحة في القرص الصلب المحفوظ عليه ملفات الموقع.
6- يقرأ السيرفر الملف ثم يجد أنه يحتوي علي كود PHP فيقوم بإرساله إلي المعالج.
7- يقوم المعالج بتنفيذ كود الـ PHP.
8- يجد المعالج أن كود الـ PHP يحتوي علي بعض أوامر أو عبارات MySQL , فيقوم المعالج بإرسالها إلي محرك قواعد البيانات MySQL Database Engine .
9- يقوم محرك قواعد البيانات MySQL بإرسال النتائج إلي المعالج.
10- يقوم المعالج بإرسالة النتيجة النهائية لأكواد PHP و MySQL إلي السيرفر .
11- يقوم السيرفر بإرسال النتيجة للمتصفح الذي بدوره يعرض الصفحة .
علي الرغم من أهمية معرفة هذه الخطوات التي تربط هذه العناصر ببعض , إلا أنها للتوضيح وليس عليك أن تشغل عقلك بها لأنها تحدث بشكل تلقائي. لكن إن أردت أن تعرف أكثر عن كيفية تبادل المعلومات بين المتصفح والخادم عليك بقراءة ( PHP Headers )
وبعد ان تعرفنا بشكل موجز عن فكرة عمل موقع الكترونى نبدأ تقديم بعض التعاريف الهامة.
الصفحة الالكترونية
الصفحة الالكترونية web page عبارة عن ملف نصى يتم كتابته بشكل كودى وهذه الاكواد يتم ترجمتها لعرض المحتوى الذي تراه انت كمتستخدم
اسم النطاق
اسم النطاق Domain Name أو الدومين هو عنوان الموقع ويتم تشكيل أسماء النطاقات وفقاً لقواعد وإجراءات نظام أسماء النطاقات Domain Name System أو (DNS).
الآي بي IP
يتم تعريف كل جهاز داخل الشبكة برقم آي بي (IP: Internet Protocol) يتكون من مجموعة أرقام بهذا الشكل (192.344.11.25) بحيث يتم ترجمة عنوان الموقع أو Domain Name إلي رقم الآي بي لتحديد هوية الجهاز.
الخادم
الخادم Server هو حلقة الوصل بين الموقع وبينك كمستخدم لانه كما ذكرنا سابقا ان الصفحة عبارة عن اكواد يتم ترجمتها, حيث ان هذه الاكواد تكون بمثابة طلبات يتم ارسالها الى الخادم وهو يقوم بتنفيذها, فبمجرد ان تقوم بادخال عنوان الموقع الالكترونى يقوم الموقع بارسال طلبات اللى الخادم ويقوم الخادم بترجمتها ثم ارسال الرد (الترجمة) ويقوم المتصفح (e.g. iexplore) بعرض هذه المعلومات فى النهاية.وبهذا يكون
تعريف الخادم Server
هو عبارة عن تكنولوجيا ادارة المعلومات بإرسال الطلبات عن طريق ميثاق نقل النص الفائق Hypertext Transfer Protocol HTTP
ميثاق نقل النص الفائق HTTP
هو نظام نقل مواد الإنترنت عبر الشبكة العنكبوتية.
برمجة الموقع الالكترونى
فى البداية كان يتم كتابة صفحات الانترنت عن طريق لغة النصوص التشعيبة Html وهذه هى اللغة الاساسية لعمل صفحة ويب الى ان ظهرت احتياجات اخرى بالتزامن مع التقدم المعلوماتي بضرورة أن يتم عرض المحتوي بشكل ديناميكي يتحدث تلقائياً في كل مرة يتم فتح الموقع بها. وكانت لغة HTML وحدها فقط غير قادرة على هذه الاحتياجات, فتم استخدام لغات البرمجة للوصول للديناميكية المطلوبة.بالإضافة إلي مجموعة لغات تمكميلية أخري وهي
لغة صفحات النماط الانسيابية
لغة الانماط الانسيابية أو (Cascading Style Sheets or CSS) هي لغة وظيفتها التعامل مع هيئة ونمط أو شكل صفحات الويب كمثال ( الالوان , الخطوط والصور ,….. الخ)
لغات البرمجة
عندما كان الموقع الالكترونى هو وسيلة لعرض المعلومات وكانت هذه المعلومات منها ماهو ثابت ومنها ماهو متغير بصورة آلية فوجب الاعتماد على لغة برمجة للمساعدة فى جعل الموقع يعمل بشكل ديناميكى.واحيانا مايتم تصنيف المواقع علي انها ثابتة او ديناميكية المحتوى.وتعددت انواع لغات البرمجة للمواقع الالكترونية منها :
-
PHP
-
JAVA
-
JAVA SCRIPT
-
C
-
C++
-
C#
-
Other languages
الفرق بين ثبات و ديناميكية المحتوى يعتمد علي نوع المحتوي نفسه , مثلا إن كنت تقوم بعرض الفترة الزمنية التي مرة علي اضافة موضوع معين (مثلا: تم النشر من ثلاثة أشهر) ولكنك لم تعتمد علي برمجة معينة لكتابة هذا النص واعتمدت علي إدخاله بنفسك , فهذا يعتبر محتوى ثابت لأنه لا يتغير بشكل تلقائي . أما ان كنت تستخدم برمجة بحيث يتم حساب الفرق بين التاريخ الحالي وتاريخ إضافة الموضوع فسيتم تغير هذه الفترة (اقصد الثلاثة أشهر) بشكل تلقائي بمرور الوقت فهذا محتوي ديناميكي.