صفحة ويب ديناميكية

صفحة ويب ديناميكية: مثال على البرمجة النصية من جانب الخادم ( PHP و MySQL ).

صفحة الويب الديناميكية هي صفحة ويب تم إنشاؤها وقت التشغيل (أثناء تنفيذ البرنامج )، على عكس صفحة الويب الثابتة ، والتي يتم تسليمها أثناء تخزينها.

صفحة الويب الديناميكية من جانب الخادم هي صفحة ويب يتم التحكم في بنائها بواسطة خادم تطبيقات يعالج البرامج النصية من جانب الخادم. [1] في البرامج النصية من جانب الخادم ، تحدد المعلمات كيفية استمرار تجميع كل صفحة ويب جديدة ، بما في ذلك إعداد المزيد من المعالجة من جانب العميل.

تعالج صفحة الويب الديناميكية من جانب العميل صفحة الويب باستخدام JavaScript قيد التشغيل في المتصفح أثناء تحميلها. يمكن لـ JavaScript التفاعل مع الصفحة عبر نموذج كائن المستند (DOM)، للاستعلام عن حالة الصفحة وتعديلها. على الرغم من أن صفحة الويب يمكن أن تكون ديناميكية على جانب العميل، إلا أنه لا يزال من الممكن استضافتها على خدمة استضافة ثابتة مثل GitHub Pages أو Amazon S3 طالما لم يتم تضمين أي كود من جانب الخادم.

ثم يتم إعادة تحميل صفحة ويب ديناميكية بواسطة المستخدم أو بواسطة برنامج كمبيوتر لتغيير بعض المحتويات المتغيرة. يمكن أن تأتي معلومات التحديث من الخادم، أو من التغييرات التي تم إجراؤها على DOM الخاصة بهذه الصفحة. قد يؤدي هذا أو لا يؤدي إلى قطع سجل التصفح أو إنشاء نسخة محفوظة للرجوع إليها، ولكن تحديث صفحة ويب ديناميكية باستخدام تقنيات AJAX لن ينشئ صفحة للرجوع إليها، ولا يقطع سجل تصفح الويب قبل الصفحة المعروضة. باستخدام AJAX، يحصل المستخدم النهائي على صفحة ديناميكية واحدة يتم إدارتها كصفحة واحدة في متصفح الويب بينما يمكن أن يختلف محتوى الويب الفعلي المعروض على هذه الصفحة. يجلس محرك AJAX فقط على المتصفح ويطلب أجزاء من DOM الخاص به، DOM ، لعميله، من خادم التطبيق. يمكن لخادم تطبيق معين تقديم واجهة نمط REST موحدة لتقديم الخدمات لتطبيق الويب. [2]

DHTML هو المصطلح الشامل للتقنيات والأساليب المستخدمة لإنشاء صفحات ويب ليست صفحات ويب ثابتة ، على الرغم من أنه لم يعد يستخدم بشكل شائع منذ انتشار AJAX، وهو مصطلح نادر الاستخدام الآن. تعمل البرمجة النصية من جانب العميل أو البرمجة النصية من جانب الخادم أو مزيج من هذه على توفير تجربة ويب ديناميكية في المتصفح.

المفاهيم الأساسية

يوفر التنقل عبر النص التشعبي الكلاسيكي ، باستخدام HTML أو XHTML فقط، محتوى "ثابتًا"، مما يعني أن المستخدم يطلب صفحة ويب ويعرض الصفحة والمعلومات الموجودة على تلك الصفحة ببساطة.

ومع ذلك، يمكن لصفحة الويب أيضًا توفير تجربة مستخدم "حية" أو "ديناميكية" أو "تفاعلية". يمكن أن يتغير المحتوى (النصوص والصور وحقول النماذج وما إلى ذلك) على صفحة الويب ، استجابةً لسياقات أو ظروف مختلفة.

هناك طريقتان لإنشاء هذا النوع من التأثير:

  • استخدام البرمجة النصية من جانب العميل لتغيير سلوكيات الواجهة داخل صفحة ويب معينة ، استجابةً لإجراءات الماوس أو لوحة المفاتيح أو في أحداث توقيت محددة. في هذه الحالة، يحدث السلوك الديناميكي داخل العرض التقديمي .
  • استخدام البرمجة النصية من جانب الخادم لتغيير مصدر الصفحة المقدمة بين الصفحات، وضبط تسلسل أو إعادة تحميل صفحات الويب أو محتوى الويب المقدم إلى المتصفح. يمكن تحديد استجابات الخادم من خلال شروط مثل البيانات في نموذج HTML المنشور ، أو المعلمات في عنوان URL ، أو نوع المتصفح المستخدم، أو مرور الوقت، أو قاعدة البيانات أو حالة الخادم . [3]

يجب على صفحات الويب التي تستخدم البرمجة النصية من جانب العميل استخدام تقنية العرض المعروفة باسم الصفحات ذات الواجهة الغنية . تُستخدم لغات البرمجة النصية من جانب العميل مثل JavaScript أو ActionScript ، المستخدمة في تقنيات HTML الديناميكية (DHTML) و Flash على التوالي، بشكل متكرر لتنظيم أنواع الوسائط (الصوت والرسوم المتحركة والنص المتغير وما إلى ذلك) للعرض التقديمي. تسمح البرمجة النصية أيضًا باستخدام البرمجة النصية عن بُعد ، وهي تقنية تطلب بها صفحة DHTML معلومات إضافية من خادم، باستخدام إطار مخفي أو XMLHttpRequests أو خدمة ويب .

غالبًا ما يتم إنشاء صفحات الويب التي تستخدم البرمجة النصية من جانب الخادم بمساعدة لغات جانب الخادم مثل PHP و Perl و ASP و JSP و ColdFusion ولغات أخرى. تستخدم لغات جانب الخادم هذه عادةً واجهة البوابة المشتركة (CGI) لإنتاج صفحات ويب ديناميكية . يمكن لهذه الأنواع من الصفحات أيضًا استخدام النوع الأول (DHTML، وما إلى ذلك) على جانب العميل.

تاريخ

من الصعب أن نكون دقيقين بشأن "بدايات صفحات الويب الديناميكية" أو التسلسل الزمني لأن المفهوم الدقيق لا يصبح منطقيًا إلا بعد "التطور الواسع النطاق لصفحات الويب". لقد كان HTTP موجودًا منذ عام 1989، و HTML ، وتم توحيده علنًا منذ عام 1996. بدأ ارتفاع شعبية متصفح الويب مع Mosaic في عام 1993. بين عامي 1995 و1996، تم طرح العديد من منتجات الويب الديناميكية في السوق، بما في ذلك Coldfusion و WebObjects و PHP و Active Server Pages .

مكّن تقديم JavaScript (المعروف آنذاك باسم LiveScript) من إنتاج صفحات ويب ديناميكية من جانب العميل، مع تنفيذ كود JavaScript في متصفح العميل. [4] يشير الحرف "J" في مصطلح AJAX في الأصل إلى استخدام JavaScript، بالإضافة إلى XML . مع ظهور معالجة JavaScript من جانب الخادم، على سبيل المثال، Node.js ، الذي تم تطويره في الأصل في عام 2009، يتم استخدام JavaScript أيضًا لإنشاء صفحات ديناميكيًا على الخادم يتم إرسالها بشكل كامل إلى العملاء.

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

برمجة نصية من جانب الخادم

تتكون منظومة العميل والخادم من أربع خطوات: المتصفح، وطلب HTTP، وخادم الويب، والاستجابة. تحدث البرمجة النصية من جانب الخادم عندما تتم معالجة صفحة ويب أو مورد ديناميكي وتوليده بواسطة خادم الويب.
عند تقديم طلب إلى صفحة ويب أو مورد ديناميكي، يقوم خادم التطبيق بمعالجة الطلب باستخدام لغة جانب الخادم الخاصة به.

يتم استخدام برنامج يعمل على خادم الويب ( البرمجة النصية من جانب الخادم ) لإنشاء محتوى الويب على صفحات الويب المختلفة وإدارة جلسات المستخدم والتحكم في سير العمل. يمكن تحديد استجابات الخادم من خلال شروط مثل البيانات في نموذج HTML المنشور ، أو المعلمات في عنوان URL ، أو نوع المتصفح المستخدم، أو مرور الوقت، أو قاعدة البيانات أو حالة الخادم .

غالبًا ما يتم إنشاء صفحات الويب هذه بمساعدة لغات جانب الخادم مثل ASP و ColdFusion و Go و JavaScript و Perl و PHP و Ruby و Python و WebDNA ولغات أخرى، بواسطة خادم دعم يمكن تشغيله على نفس الأجهزة مثل خادم الويب. غالبًا ما تستخدم لغات جانب الخادم هذه واجهة البوابة المشتركة (CGI) لإنتاج صفحات ويب ديناميكية. الاستثناءان البارزان هما ASP.NET و JSP ، اللذان يعيدان استخدام مفاهيم CGI في واجهات برمجة التطبيقات الخاصة بهما ولكن في الواقع يرسلان جميع طلبات الويب إلى جهاز افتراضي مشترك.

تُستخدم لغات جانب الخادم لتضمين العلامات أو العلامات داخل ملف المصدر لصفحة الويب على خادم الويب. [5] عندما يطلب مستخدم على جهاز كمبيوتر عميل صفحة الويب هذه، يفسر خادم الويب هذه العلامات أو العلامات لأداء إجراءات على الخادم. على سبيل المثال، قد يُطلب من الخادم إدراج معلومات من قاعدة بيانات أو معلومات مثل التاريخ الحالي.

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

برمجة نصية من جانب العميل

إن البرمجة النصية من جانب العميل هي تغيير سلوكيات الواجهة داخل صفحة ويب معينة استجابة لإجراءات جهاز الإدخال، أو في أحداث توقيت محددة. في هذه الحالة، يحدث السلوك الديناميكي داخل العرض التقديمي . يتم إنشاء محتوى جانب العميل على نظام الكمبيوتر المحلي للمستخدم. [6]

تستخدم صفحات الويب هذه تقنية عرض تسمى الصفحات ذات الواجهة الغنية . تُستخدم لغات البرمجة النصية من جانب العميل مثل JavaScript أو ActionScript ، المستخدمة في تقنيات HTML الديناميكية (DHTML) و Flash على التوالي، بشكل متكرر لتنظيم أنواع الوسائط (الصوت والرسوم المتحركة والنص المتغير وما إلى ذلك) للعرض التقديمي. تسمح البرمجة النصية من جانب العميل أيضًا باستخدام البرمجة النصية عن بُعد ، وهي تقنية تطلب بها صفحة DHTML معلومات إضافية من خادم، باستخدام إطار مخفي أو XMLHttpRequests أو خدمة ويب .

كان أول استخدام عام للغة JavaScript في عام 1995، عندما تم تنفيذ اللغة في Netscape Navigator 2 ، وتم توحيدها باسم ECMAScript بعد عامين. [7]

مثال

يتم إنشاء محتوى جانب العميل على جهاز الكمبيوتر الخاص بالعميل. يسترد متصفح الويب الصفحة من الخادم، ثم يعالج الكود المضمن في الصفحة (المكتوب عادةً بلغة JavaScript ) ويعرض محتوى الصفحة المستردة للمستخدم. [8]

يمكن للخاصية innerHTML(أو أمر الكتابة) توضيح إنشاء الصفحة الديناميكي على جانب العميل: يمكن إعادة إنشاء صفحتين متميزتين، A وB، (من خلال "ديناميكية استجابة الحدث") مثل document.innerHTML = Aو document.innerHTML = B؛ أو "ديناميكية التحميل" بواسطة document.write(A)و document.write(B).

التقنيات المركبة

تُسمى جميع مكونات العميل والخادم التي تعمل معًا على بناء صفحة ويب ديناميكية بتطبيق ويب . تدير تطبيقات الويب تفاعلات المستخدم والحالة والأمان والأداء. [9]

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

يمكن لعميل الويب ، مثل متصفح الويب، أن يعمل كخادم خاص به، حيث يمكنه الوصول إلى البيانات من العديد من الخوادم المختلفة، مثل Gopher وFTP وNNTP (Usenet) وHTTP، لبناء صفحة. يدعم HTTP تحميل المستندات من العميل إلى الخادم مرة أخرى. هناك عدة طرق HTTP للقيام بذلك.

انظر أيضا

مراجع

  1. ^ DeGroote, Sandy. "Subject and Course Guides: Digital UIC: Static and Dynamic Websites". researchguides.uic.edu . تم الاسترجاع في 2023-12-12 .
  2. ^ فيلدينج، روي توماس (2000). "الفصل 5: نقل الحالة التمثيلية (REST)". الأنماط المعمارية وتصميم هياكل البرمجيات القائمة على الشبكات (دكتوراه). جامعة كاليفورنيا، إيرفين.
  3. ^ نيلسون، آن؛ نيلسون، ويليام إتش إم (2002). بناء التجارة الإلكترونية باستخدام قواعد بيانات الويب. أديسون ويسلي. رقم ISBN 9780201741308.
  4. ^ Benson, Brent W. (1999). "JavaScript" . إشعارات ACM SIGPLAN . 34 (4): 25– 27. doi : 10.1145/312009.312023 . S2CID  10076062. .
  5. ^ Tatroe, Kevin (2013). Programming PHP: Creating Dynamic Web Pages (3 ed.). O'Reilly. ISBN 9781449365837.
  6. ^ دويل، باري؛ لوبيز، كريستينا فيديرا (17 يناير 2008). "دراسة استقصائية عن التقنيات المستخدمة في تطوير تطبيقات الويب". arXiv : 0801.2618 [cs.SE].
  7. ^ Okin, JR (2005). ثورة المعلومات: الدليل غير المخصص للبسطاء لتاريخ وتكنولوجيا واستخدام شبكة الويب العالمية . Ironbound Press. ISBN 9780976385745.
  8. ^ "تعلم VBScript"، P. Lomax. ISBN 1-56592-247-6 . محرر. O'Reilly، 1997. القسم C13. 
  9. ^ "تطبيق ويب". مؤرشف من الأصل في 22 فبراير 2014 . اطلع عليه بتاريخ 24 يوليو 2013 .{{cite web}}:CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( الرابط )
  • موقع ويب ثابت مقابل موقع ويب ديناميكي من W3.org
  • مواقع الويب الديناميكية باستخدام أسلوب إدارة العلاقات، من W3.org.
  • تحليل واسع لصفحات الويب الديناميكية من جامعة تكساس، أوستن.
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=صفحة_ويب_ديناميكية&oldid=1259219055#برمجة_برمجية_من_جانب_العميل"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate