توحيد URI

أنواع توحيد عناوين URI.

توحيد معرّفات الموارد الموحدة (URI) هو عملية يتم من خلالها تعديل معرّفات الموارد الموحدة وتوحيدها بطريقة متسقة. يهدف هذا التوحيد إلى تحويل معرّف الموارد الموحدة إلى معرّف موحد، بحيث يُمكن تحديد ما إذا كان معرّفان مختلفان في التركيب النحوي متكافئين.

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

عملية التطبيع

يمكن إجراء عدة أنواع من التطبيع. بعضها يحافظ دائمًا على الدلالات، وبعضها الآخر قد لا يحافظ عليها.

عمليات التطبيع التي تحافظ على الدلالات

تم وصف عمليات التطبيع التالية في RFC 3986 [ 1 ] للحصول على معرّفات موارد موحدة مكافئة:

http://example.com/foo%2ahttp://example.com/foo%2A
  • تحويل اسم النطاق واسم المضيف إلى أحرف صغيرة. لا تُميّز مكونات اسم النطاق واسم المضيف في معرّف الموارد الموحد (URI) بين الأحرف الكبيرة والصغيرة، لذا يجب تحويلها إلى أحرف صغيرة. [ 3 ] مثال:
HTTP://User@Example.COM/Foohttp://User@example.com/Foo
  • فك تشفير ثلاثيات الأحرف غير المحجوزة المشفرة بنسبة مئوية. لا تتطلب ثلاثيات الأحرف غير المحجوزة المشفرة بنسبة مئوية في معرّف الموارد الموحد (URI) ضمن نطاقات ALPHA ( %41- %5Aو- %61) %7A، وDIGIT ( %30- %39)، وhyphen ( %2D)، وperiod ( %2E)، وunderscore ( %5F)، وtilde ( %7E) تشفيرًا بنسبة مئوية، ويجب فك تشفيرها إلى الأحرف غير المحجوزة المقابلة لها. [ 4 ] مثال:
http://example.com/%7Efoohttp://example.com/~foo
  • إزالة أجزاء النقاط. يجب إزالة أجزاء النقاط .في ..مكون المسار الخاص بـ URI عن طريق تطبيق خوارزمية remove_dot_segments [ 5 ] على المسار الموصوف في RFC 3986. [ 6 ] مثال:
http://example.com/foo/./bar/baz/../quxhttp://example.com/foo/bar/qux
  • تحويل مسار فارغ إلى مسار "/". في حال وجود عنصر مرجعي، يجب تحويل عنصر المسار الفارغ إلى عنصر مسار "/". [ 7 ] مثال:
http://example.comhttp://example.com/
http://example.com:80/http://example.com/

عمليات التطبيع التي تحافظ عادةً على الدلالات

بالنسبة لمعرفات الموارد الموحدة (URIs) الخاصة ببروتوكول HTTP و HTTPS، قد تؤدي عمليات التطبيع التالية المدرجة في RFC 3986 إلى معرفات موارد موحدة مكافئة، ولكن لا يُضمن أن تكون كذلك وفقًا للمعايير:

  • إضافة شرطة مائلة "/" في نهاية المسار غير الفارغ. تُشار إلى الدلائل (المجلدات) بشرطة مائلة في النهاية، ويجب تضمينها في عناوين URI. مثال:
http://example.com/foohttp://example.com/foo/
مع ذلك، لا توجد طريقة لمعرفة ما إذا كان جزء من مسار URI يُمثل دليلاً أم لا. تشير RFC 3986 إلى أنه إذا أعاد URI الأول التوجيه إلى URI الثاني، فهذا مؤشر على أنهما متكافئان.

عمليات التطبيع التي تغير الدلالات

يؤدي تطبيق عمليات التطبيع التالية إلى الحصول على معرّف موارد موحد (URI) مختلف دلاليًا على الرغم من أنه قد يشير إلى نفس المورد:

  • إزالة فهرس الدليل. لا حاجة عمومًا لفهارس الدليل الافتراضية في عناوين URI. أمثلة:
http://example.com/a/index.htmlhttp://example.com/a/
http://example.com/default.asphttp://example.com/
http://example.com/bar.html#section1http://example.com/bar.html
ومع ذلك، تستخدم تطبيقات AJAX القيمة الموجودة في الجزء بشكل متكرر.
  • استبدل عنوان IP باسم النطاق. تحقق مما إذا كان عنوان IP مرتبطًا باسم نطاق. مثال:
http://208.77.188.166/http://example.com/
نادراً ما يكون الاستبدال العكسي آمناً بسبب خوادم الويب الافتراضية .
  • تقييد البروتوكولات. تقييد بروتوكولات طبقة التطبيق المختلفة . على سبيل المثال، يمكن استبدال بروتوكول "https" ببروتوكول "http". مثال:
https://example.com/http://example.com/
  • إزالة الشرطات المكررة: يمكن تحويل المسارات التي تحتوي على شرطتين متجاورتين إلى شرطة واحدة. مثال:
http://example.com/foo//bar.htmlhttp://example.com/foo/bar.html
  • إزالة أو إضافة "www" كأول اسم نطاق. تعمل بعض المواقع الإلكترونية بشكل متطابق ضمن نطاقين إنترنت: أحدهما يحمل اسم "www" كأقل أسماء النطاقات أهمية، والآخر ناتج عن حذف هذا الاسم من اسم الأول، ويُعرف الأخير بالنطاق العاري . على سبيل المثال، http://www.example.com/قد http://example.com/يصل كلا النطاقين إلى نفس الموقع. تقوم العديد من المواقع بإعادة توجيه المستخدم من عنوان "www" إلى عنوان "بدون www" أو العكس. يمكن لمُوحِّد عناوين URI تحديد ما إذا كان أحد هذين العنوانين يُعيد التوجيه إلى الآخر، ثم يقوم بتوحيد جميع عناوين URI وفقًا لذلك. مثال:
http://www.example.com/http://example.com/
  • ترتيب معلمات الاستعلام. تستخدم بعض صفحات الويب أكثر من معلمة استعلام واحدة في عنوان URI. يمكن للمُعَدِّل ترتيب المعلمات أبجديًا (مع قيمها)، وإعادة تجميع عنوان URI. مثال:
http://example.com/display?lang=en&article=fredhttp://example.com/display?article=fred&lang=en
ومع ذلك، قد يكون ترتيب المعلمات في معرّف الموارد الموحد (URI) مهمًا (وهذا غير محدد في المعيار)، وقد يسمح خادم الويب بظهور المتغير نفسه عدة مرات. [ 8 ]
  • إزالة متغيرات الاستعلام غير المستخدمة. قد تتوقع الصفحة ظهور معلمات معينة فقط في الاستعلام؛ ويمكن إزالة المعلمات غير المستخدمة. مثال:
http://example.com/display?id=123&fakefoo=fakebarhttp://example.com/display?id=123
لاحظ أن المعلمة التي لا تحتوي على قيمة ليست بالضرورة معلمة غير مستخدمة.
  • إزالة معلمات الاستعلام الافتراضية. قد يتم عرض القيمة الافتراضية في سلسلة الاستعلام بنفس الشكل سواءً وُجدت أم لا. مثال:
http://example.com/display?id=&sort=ascendinghttp://example.com/display
  • حذف علامة الاستفهام "؟" عندما يكون الاستعلام فارغًا. في هذه الحالة، قد لا تكون هناك حاجة لعلامة الاستفهام "؟". مثال:
http://example.com/display?http://example.com/display

التطبيع بناءً على قوائم URI

يمكن وضع بعض قواعد التوحيد لمواقع ويب محددة من خلال فحص قوائم عناوين URI التي تم الحصول عليها من عمليات الزحف السابقة أو سجلات خادم الويب. على سبيل المثال، إذا كان عنوان URI

http://example.com/story?id=xyz

يظهر في سجل الزحف عدة مرات مع

http://example.com/story_xyz

يمكننا أن نفترض أن معرفي الموارد الموحدين متكافئان ويمكن توحيدهما إلى أحد أشكال معرف الموارد الموحد.

قدم شونفيلد وآخرون (2006) طريقةً استدلاليةً تُسمى DustBuster للكشف عن قواعد DUST (معرّفات الموارد الموحدة المختلفة ذات النصوص المتشابهة) التي يمكن تطبيقها على قوائم معرّفات الموارد الموحدة. وقد أظهروا أنه بمجرد العثور على قواعد DUST الصحيحة وتطبيقها باستخدام خوارزمية توحيد، تمكنوا من العثور على ما يصل إلى 68% من معرّفات الموارد الموحدة الزائدة في قائمة معرّفات الموارد الموحدة.

انظر أيضاً

مراجع