محرك إعادة الكتابة
في تطبيقات الويب ، يُعدّ مُحرك إعادة الكتابة مكونًا برمجيًا يُجري عملية إعادة كتابة عناوين URL (محددات مواقع الموارد الموحدة)، مُعدّلاً مظهرها. يُطلق على هذا التعديل اسم إعادة كتابة عناوين URL . وهي طريقة لتنفيذ ربط عناوين URL أو توجيهها داخل تطبيق الويب . عادةً ما يكون هذا المُحرك جزءًا من خادم الويب أو إطار عمل تطبيق الويب . تُستخدم عناوين URL المُعاد كتابتها (المعروفة أحيانًا بعناوين URL القصيرة أو المُحسّنة أو المُنسّقة، أو عناوين URL الصديقة لمحركات البحث ، أو الروابط المُختصرة ) لتوفير روابط أقصر وأكثر صلةً بصفحات الويب. تُضيف هذه التقنية طبقة تجريد بين الملفات المُستخدمة لإنشاء صفحة الويب وعنوان URL الذي يتم عرضه للعالم الخارجي.
الاستخدام
يمكن للمواقع الإلكترونية ذات المحتوى الديناميكي استخدام عناوين URL تُنشئ صفحات من الخادم باستخدام معلمات سلسلة الاستعلام . غالبًا ما يُعاد كتابة هذه العناوين لتُشابه عناوين URL للصفحات الثابتة على موقع ذي تسلسل هرمي للمجلدات الفرعية . على سبيل المثال، قد يكون عنوان URL لصفحة ويكي بعنوان Rewrite_engine كالتالي:
http://example.com/w/index.php?title=Rewrite_engineولكن يمكن إعادة كتابتها على النحو التالي:
http://example.com/wiki/Rewrite_engineقد تحتوي المدونة على عنوان URL يقوم بتشفير تواريخ كل تدوينة:
http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=19يمكن تعديله على النحو التالي:
http://www.example.com/Blog/2006/12/19/وهذا يسمح أيضاً للمستخدم بتغيير عنوان URL لعرض جميع المنشورات المتاحة في شهر ديسمبر، ببساطة عن طريق إزالة النص الذي يشفر اليوم '19'، كما لو كان يتنقل "لأعلى" في دليل:
http://www.example.com/Blog/2006/12/يمكن للموقع تمرير مصطلحات متخصصة من عنوان URL إلى محرك البحث الخاص به كمصطلح بحث. وهذا يسمح للمستخدمين بالبحث مباشرةً من متصفحهم. على سبيل المثال، عنوان URL كما تم إدخاله في شريط عناوين المتصفح :
http://example.com/search termسيقوم المتصفح بتشفير عنوان URL قبل إرسال طلب HTTP . ويمكن للخادم إعادة كتابة هذا العنوان إلى:
http://example.com/search.php?q=search%20termالمزايا والعيوب
هناك العديد من الفوائد لاستخدام إعادة كتابة عناوين URL: [ 1 ]
- الروابط "أنظف" وأكثر وصفية، مما يحسن "سهولة استخدامها" لكل من المستخدمين ومحركات البحث .
- فهي تمنع " الربط المضمن " غير المرغوب فيه، والذي يمكن أن يهدر عرض النطاق الترددي .
- يمكن للموقع الاستمرار في استخدام نفس عناوين URL حتى لو تم تغيير التقنية الأساسية المستخدمة لتقديمها (على سبيل المثال، التبديل إلى محرك تدوين جديد ).
مع ذلك، قد توجد بعض العيوب أيضًا؛ فإذا أراد المستخدم تعديل عنوان URL لاسترجاع بيانات جديدة، فقد تعيق إعادة كتابة عنوان URL إنشاء استعلامات مخصصة بسبب عدم وجود متغيرات مُسماة. على سبيل المثال، قد يصعب تحديد التاريخ من التنسيق التالي:
http://www.example.com/Blog/06/04/02/في هذه الحالة، كانت سلسلة الاستعلام الأصلية أكثر فائدة، لأن متغيرات الاستعلام أشارت إلى الشهر واليوم:
http://www.example.com/Blog/Posts.php?Year=06&Month=04&Day=02أطر عمل الويب
تتضمن العديد من أطر عمل الويب إعادة كتابة عناوين URL، إما بشكل مباشر أو من خلال وحدات إضافية.
- يوفر خادم Apache HTTP إعادة كتابة عناوين URL بواسطة وحدة mod_rewrite. [ 2 ]
- تتوفر خاصية إعادة كتابة عناوين URL كإضافة لبرنامج Microsoft IIS . [ 3 ]
- يحتوي Ruby on Rails على ميزة إعادة كتابة عناوين URL مدمجة عبر المسارات. [ 4 ]
- يحتوي Jakarta Servlet على إعادة كتابة عناوين URL قابلة للتوسيع عبر OCPsoft URLRewriteFilter و Tukey UrlRewriteFilter.
- قامت Jakarta Faces بتبسيط عملية إعادة كتابة عناوين URL عبر PrettyFaces: URLRewriteFilter.
- يستخدم Django نظامًا قائمًا على التعابير النمطية . هذا ليس إعادة كتابة عناوين URL بالمعنى الدقيق للكلمة، إذ لا يوجد نص برمجي لإعادة الكتابة إليه، ولا حتى بنية دليل؛ ولكنه يوفر المرونة الكاملة لإعادة كتابة عناوين URL. [ 5 ]
- يحتوي إطار عمل Java Stripes على وظائف متكاملة منذ الإصدار 1.5. [ 6 ]
- تتمتع العديد من أطر عمل بيرل، مثل موجوليشوس وكاتاليست ، بهذه الميزة. [ 7 ]
- يوفر CodeIgniter خاصية إعادة كتابة عناوين URL.
- يحتوي برنامج lighttpd على وحدة mod_rewrite. [ 8 ]
- يحتوي nginx على وحدة إعادة كتابة. [ 9 ] [ 10 ] على سبيل المثال، من الممكن إنشاء صفحة متعددة الروابط ومتعددة المتغيرات من URI مثل /f101,n61,o56,d/ifconfig ، حيث يتم توسيع أجزاء فردية متعددة مثل f101 بمساعدة التعبيرات النمطية إلى متغيرات للدلالة على FreeBSD 10.1-RELEASE وما إلى ذلك.
- يحتوي خادم Hiawatha HTTP على مجموعة أدوات URL تدعم إعادة كتابة عناوين URL. [ 11 ]
- يدعم خادم HTTP الخاص بـ Cherokee التعبيرات النمطية لإعادة كتابة عناوين URL وعمليات إعادة التوجيه.
من منظور تطوير البرمجيات ، يمكن أن تساعد إعادة كتابة عنوان URL في تقسيم التعليمات البرمجية إلى وحدات والتحكم في التدفق ، [ 12 ] مما يجعلها ميزة مفيدة لأطر عمل الويب الحديثة.
انظر أيضاً
ملحوظات
- ↑ ينطبق العديد من هذه فقط على خوادم HTTP التي يكون سلوكها الافتراضي هو ربط عناوين URL بكيانات نظام الملفات (أي الملفات والمجلدات)؛ بعض البيئات، مثل العديد من منصات خادم تطبيقات HTTP ، تجعل هذا الأمر غير ذي صلة.
- ↑ توثيق mod_rewrite
- ↑ إضافة إعادة كتابة عناوين URL لـ Microsoft IIS
- ↑ "توجيه Rails من الخارج إلى الداخل" . "Ruby on Rails" . تم الاسترجاع في 25 أبريل 2014 .
- ↑ Django URLconf
- ↑ تنظيف عناوين URL في Stripes 1.5
- ↑ أدلة - دليل موجوليشوس للمجرة . موجوليشوس. تم الاطلاع عليه بتاريخ 2013-09-08.
- ↑ وثائق ModRewrite - Lighttpd - مختبرات لايتي . Redmine.lighttpd.net. تم الاطلاع عليها بتاريخ 2013-09-08.
- ↑ "ngx_http_rewrite_module - rewrite" . nginx.org . تم الاطلاع عليه بتاريخ 25 ديسمبر 2014 .
- ↑ مورينين، قسطنطين أ. (18 فبراير 2013). "موقع ويب ديناميكي مكتوب بالكامل باستخدام nginx.conf؟ نقدم لكم mdoc.su!" . nginx@nginx.org (قائمة بريدية) . تم الاطلاع عليه بتاريخ 24 ديسمبر 2014 .
- ↑ "مجموعة أدوات عناوين المواقع الإلكترونية (URL TOOLKIT) جزء من دليل خادم الويب Hiawatha" . مؤرشف من الأصل بتاريخ 22-03-2016 . تم الاطلاع عليه بتاريخ 25-01-2012 .
- ↑ "رابط نظيف" . DocForge. مؤرشف من الأصل في 20 أكتوبر 2009. تم الاطلاع عليه في 25 أبريل 2014 .
روابط خارجية
- عنوان URL
