|
كان
التعامل مع صفحات ويب في بداياته ، ساكناً ، ولم تكن عملية تصفح المواقع في مجملها
، أكثر من بديل إلكتروني لتصفح كتاب ، والتجول بين صفحاته . وكانت صفحات ويب
المصممة بالاعتماد على " لغة تحديد النصوص المتشعبة " (Hyper
Text Markup ,
Language, HTML)
تستخدم إصدار
HTML
1.0
في أول ظهور لها لخدمة صفحات ويب على شبكة إنترنت ، حيث كانت المتصفحات تتيح عرض
المعلومات ، والتنقل بين روابط الصفحات ، بدون تفاعل مع المستخدم ، ولا تتيح
استقبال أي بيانات أو مدخلات من واجهة الاستخدام ، أي من المتصفح ، ولم تكن تتوافر
أي نتائج أو ردود من مزودات ويب التي تحتضن هذه الصفحات . ولم يكن القصور في
المزودات ذاتها ، أو في بروتوكول
HTTP
الذي تم تطويره في " مختبر الفيزياء
الذرية الأوروبي " (CERN
) في سويسرا ، وشكل النواة الأولى لتواجد خدمة شبكة ويب العالمية
WWW
سنة 1989،
إنما كان في لغة
HTML
1.0
ذاتها ، التي لم تدعم استخدام نماذج التراسل (
forms)
، وواصفاتها (form
tags)
، والتي أضيفت في الإصدارة الثانية
HTML
2.0
، والإصدارات التي تلتها . ومع بداية استخدام النماذج (
forms)
، بدأ التفاعل بين متصفحات ويب والمزودات ، يأخذ طابعاً أكثر ديناميكية ، حيث أصبح
ممكناً للمستخدم ملء نموذج بيانات على صفحة ويب ، وإرسالها للمزود ، ليحصل منه رد
فوري يظهر على متصفحه ، أو رد متأخر يأتي لاحقاً على هيئة بريد إلكتروني . ويتم
التعامل مع هذه النماذج، في الواقع، عن طريق برامج كامنة في برنامج مزود ويب (HTTP
Web, Server
)
تعرف باسم برامج "واجهة المعبر العمومي"(
Common Gateway , Interface, CGI)
، يتم تشغيلها كلما تسلم مزوّد ويب نموذجاً من المتصفح . وهي عبارة عن برامج قابلة
للتنفيذ (
executable)
تقطن في مزود ويب ، وتوضع عادة في دليل اسمه
CGI-BIN\
(والاسم ليس إلزامياً) .
يخلط الكثيرون
بين
CGI
ولغة بيرل ، ويمكننا
اعتبار
CGI
بمثابة مجموعة من المواصفات القياسية ، تحدد طريقة تعامل المتصفحات
مع المزودات ، بينما بيرل هي إحدى لغات البرمجة التي تلتزم
بمواصفات
CGI
.
طبيعة برامج
CGI
:
يمكن أن توجد برامج
CGI
على مزودات ويب بصيغتين :
النوع الأول
(interpreted
script)
عبارة عن شيفرة نصية (تعليمات برمجية) ، وخليط من أوامر نظام يونيكس ولغة
C
الأساسية ، وأوامر البحث والتبديل
المتقدمة لنظام يونيكس (Unix
AWK
and SED commands)
، وتسمى هذه التوليفة لغة بيرل (
PERL)
، وهي الأحرف الأولى من عبارة (Practical
Extraction and Report Language
) . وتحتاج برامج الشيفرة النصية إلى تشغيل مفسّر بيرل (
PERL Interpreter
)
على المزود ، لتنفيذها . وتُستخدم لغة بيرل بفعالية مع مزودات
HTTP
التي تعتمد على نظام التشغيل يونيكس ، كما تم تطوير نسخة أولية منها للعمل في ظل
ويندوز إن.تي ، إلا أنها لا تزال قيد التعديل والتحديث .
يسمى النوع الثاني
من برامج
CGI الشيفرة
المترجمة(
compiled code)
، وهي عبارة عن برامج صُممت بلغات مثل
C++
أو لغات أخرى ، وتُرجمت إلى لغة الآلة ، أي أنها جاهزة للتنفيذ على المزوّد فور
تحميلها ، بدون الحاجة إلى الاستعانة بمفسّر .
محتويات وعناصر النموذج
، وشروط التفاعل مع برامج
CGI
:
بعد ملء النموذج (form)
في صفحة ويب ، ينقر المستخدم على زر الإرسال (
submit)
، فيرسل المتصفح بيانات النموذج ، إلى عنوان مضمن في صفحة النموذج مع شيفرة
HTML
في عنصر اسمه (
ACTION)
، مثل :
ACTION=http://www.yoursite.net/cgi-bin/registration
، الذي يمثل اسم البرنامج ، وعنوان (
URL)
الذي سيتولى عملية استقبال عناصر النموذج (
form
objects)
، والرد عليها أو تنفيذ عمليات أخرى ، حسب طبيعة البرنامج .
وحتى يتم إرسال بيانات النموذج بنجاح ، يجب أن تتوافر في
شيفرة صفحة (
HTML)
الخاصة بالنموذج ، الشروط والعناصر التالية :
·
يجب أن يوجد عنصر
FORM>
<
و
</FORM>
في وسط شيفرة
HTML
، أي بين :
<HTML>
</FORM>..</BODY>...</HTML>...<BODY>..<FORM>....
·
يجب أن يوجد
العنصر METHOD
ضمن النموذج ، ويمكن أن يوضع بقيمة
GETأو
POST
.
·
يجب أن
يتضمن العنصر
ACTION
العنوان الكامل لموقع برنامجCGI
المطلوب تشغيله لمعالجة بيانات
النموذج والرد عليها ، مثل (ACTION=http://www.
yoursite.net/cgi-bin/mylog.cgi
) . ويمكن ، أيضاً ، إرسال بيانات النموذج إلى عنوان بريد إلكتروني ، بدون معالجة ،
وفي هذه الحالة لن يحدث تفاعل مع المزود ، بل سترسل كامل بيانات النموذج إلى
العنوان المحدد، مثل:
(ACTION=
"mail to:taher@ yoursite.com)
·
يمكن أن
توجد عناصر إدخال البيانات في النموذج بهيئة عناصر نصية (NEXT)
، أو أزرار اختيار (CHECKBOX)
، أو مساحات نصية (TEXTAREA)
، أو كلمات سر ( PASSWORD)،
أو غيرها من عناصر الإدخال الخاصة بالنماذج .
·
يمكن أن يوجد العنصر
RESET
لمسح النموذج <Input, Type=
submit" > "
وهو
اختياري .
آلية عمل برامج
CGI's
:
يمكن تلخيص آلية عمل برامجCGI
في الخطوات التالية :
1-
يتصفح
المستخدم صفحة ويب تحتوي على نموذج
<FORM>
، حيث يملأ بيانات النموذج أو جزءاً منه
.
2-
ينقر المستخدم على زر الإرسال
SUBMIT
لإرسال بيانات النموذج
.
3-
يرسل
المتصفح حقول النموذج إلى مزود
HTTP
، حسب عنوان " URL"
المعرف في الحقل ACTION
، واستخدام البيانات المرسلة كإدخالات . وتختلف النتائج حسب طبيعة البرنامج ، فيمكن
أن يقوم بالرد مباشرة على المتصفح ، أو يحفظ البيانات في سجل أو قاعدة بيانات ،
للرجوع إليها لاحقاً .
شروط عمل برامج
CGI
على المزود
:
يشترط في برامج
CGI
أن تكون قابلة للقراءة والتنفيذ داخل الموقع الذي تحفظ فيه في المزود ، ويجب أن
يسمح نظام التشغيل بقراءة محتويات دليل عملها (ويمكن أن يشترط حقوق الكتابة في دليل
التخزين ، في حالة تخزين البيانات الواردة في ملفات التسجيلات
Logfiles)
.يمكنك تغيير سمات وحقوق استخدام الملفات والأدلة في نظام يونكس ، باستخدام برنامج
مثل
Cute FTP
، لتسمح بالقراءة والتنفيذ للآخرين . لكن ، لا تنسى أن تغيير الحقوق والسمات يستوجب
حصولك على حقوق الدخول إلى المزود ، أولاً
مستقبل برامج
CGI
:
لا زالت أغلب المزودات تستعمل
برامج
CGI
للتفاعل مع المتصفحات ، لأنها أكثر فاعلية وتنوعاً حتى الآن ، وخصوصاً بالنسبة
للمزودات التي تعتمد نظام يونكس . وبدأ المطورون حديثاً في استخدام برمجيات جافا
للتفاعل مع ويب بكفاءة ، مما يعطي فرصة أكبر لتجربة الحلول المتاحة الجديدة ،
وتجربتها بأنماط عمل الزبون/المزوّد أو
Web
Server/Browser
، ولا زالت التقنيات تتقدم ، في سبيل تفاعل أقوى وأسرع بين مزوّدات ويب والمتصفحات
.

أخذ
هذا الموضوع من مجلة إنترنت العالم العربي
|