ما الفرق بين URI وURL وكيف تستخدمهما؟
الكاتب: فريق تحرير Domeny.ForSale تاريخ النشر
باختصار: URI هو معرّف لمورد، أما URL فهو معرّف يبيّن أيضًا طريقة الوصول إلى المورد وموقعه. وفق التصنيف التقليدي، كل URL هو URI، لكن ليس كل URI هو URL. لذلك يصح وصف عنوان صفحة ويب بأنه URL أو URI، وإن كان مصطلح «URL» عادةً أوضح في الحديث اليومي.
ماذا يعني URI؟
URI اختصار لعبارة Uniform Resource Identifier، أي معرّف الموارد الموحّد. وقد يكون المورد صفحة ويب أو صورة أو مستندًا أو عنصرًا متاحًا عبر API، وقد يكون أيضًا شيئًا لا يمكن تنزيله ببساطة من الإنترنت.
الوظيفة الأساسية لـ URI هي التعريف: أي تحديد المورد المقصود. وليس من الضروري أن يبيّن المعرّف وحده مكان المورد أو كيفية الوصول إليه.
من أمثلته urn:isbn:9780131103627، وهو معرّف لمنشور يستخدم رقم ISBN. لا يشير إلى متجر كتب بعينه أو مكتبة محددة أو ملف يمكن تنزيله. فهو يحدّد المنشور، لكنه لا يقدّم عنوانًا له على الإنترنت.
إذًا، URI مفهوم أوسع من عنوان صفحة ويب. إنه فئة من المعرّفات تشمل أيضًا العناوين المألوفة التي تبدأ بـ https:.
ماذا يعني URL؟
URL اختصار لعبارة Uniform Resource Locator، أي محدّد موقع الموارد الموحّد. وهو يبيّن موقع المورد وآلية الوصول إليه، عبر HTTPS مثلًا.
من أمثلة URL العنوان https://example.com/dalil. فهو يتضمن المعلومات التي يحتاج إليها المتصفح لبدء محاولة الوصول إلى الصفحة المحددة:
https— المخطّط الذي يحدّد في هذه الحالة استخدام بروتوكول HTTPS؛example.com— اسم المضيف، وهو هنا اسم نطاق؛/dalil— المسار الذي يحدّد المورد ضمن هذا المضيف.
يمكن أن يحتوي العنوان أيضًا على منفذ ومعاملات استعلام ومعرّف جزء. في المثال https://example.com/poradnik?jezyk=pl#wprowadzenie، يمثّل lugha=pl معامل استعلام، بينما يحدّد muqaddima جزءًا من المستند. ولا يُرسل معرّف الجزء إلى الخادم ضمن طلب HTTP، بل يفسّره البرنامج لدى المستخدم.
لا يضمن URL وجود المورد أو إمكانية الوصول إليه. فقد يشير العنوان إلى صفحة حُذفت، أو يتطلب تسجيل الدخول، أو يشير إلى خادم لا يستجيب. ومع ذلك يظل URL.
ما الفرق تحديدًا؟
أسهل طريقة لتذكّر الفرق هي طرح سؤالين: يجيب URI عن سؤال «ما المورد الذي نحدّده؟»، بينما يتيح URL أيضًا تحديد «أين نبحث عن وسيلة للوصول إليه، وكيف؟». وليسا فئتين منفصلتين تمامًا؛ فـ URL حالة خاصة من URI.
| المثال | النوع | ما المعلومات التي يقدّمها؟ |
|---|---|---|
https://example.com/zdjecie.jpg | URL وURI | يبيّن موقع الصورة وطريقة الوصول إليها عبر HTTPS. |
urn:isbn:9780131103627 | URI من نوع URN | يحدّد المنشور، لكنه لا يبيّن موقعه على الشبكة. |
URN، اختصار Uniform Resource Name أي اسم الموارد الموحّد، هو معرّف يستند إلى اسم ضمن نطاق أسماء محدد. في المثال الثاني، يمثّل ISBN نطاق الأسماء هذا. لا يلزم استخدام URN لفهم عناوين الصفحات، لكنه يساعد على فهم سبب كون URI ليس مجرد تسمية أخرى لـ URL.
يمكن تقريب الفكرة بمثال الكتاب ومكانه على الرف. يُستخدم رقم ISBN لتحديد طبعة معيّنة، بينما تساعد معلومات المكتبة ووحدة الرفوف والرف على العثور عليها. وهذا مجرد تشبيه؛ إذ يستطيع URL على الإنترنت أن يحدّد المورد ويبيّن موقعه في الوقت نفسه.
أي المصطلحين تستخدم عمليًا؟
إذا طلبت عنوان صفحة أو رابط منتج أو عنوان ملف، فاستخدم مصطلح URL. فهو دقيق في هذا السياق ولا يتطلب شرح الفئة الأوسع من المعرّفات.
قد تصادف في الوثائق التقنية مصطلح URI حتى عندما تبدو القيمة الواردة في المثال عنوان HTTPS عاديًا. وليس ذلك خطأ بالضرورة؛ فقد يستخدم الكاتب المفهوم الأوسع أو التسمية المعتمدة في المعيار المعني. إذا كان اسم حقل في API هو redirect_uri، فاحتفظ بالاسم كما هو تمامًا، ولا تغيّره إلى redirect_url لمجرد أنك تمرّر عنوان صفحة.
من المفيد أيضًا التمييز بين العنوان الكامل وأجزائه. فـ example.com وحده اسم نطاق، أما /dalil فهو مرجع نسبي يتوقف معناه على العنوان الأساسي. ولا يقدّم أيّ منهما بمفرده المعلومات نفسها التي يقدّمها عنوان URL الكامل https://example.com/dalil.
لماذا يُستخدم المصطلحان أحيانًا بالتبادل؟
يوضّح التصنيف التقليدي لمعرّفات URI، الذي يشمل URL وURN، الفرق الأساسي جيدًا. لكن المصطلحات ليست موحّدة تمامًا بين المعايير؛ فمعيار WHATWG URL المستخدم في بيئة المتصفحات يعتمد مصطلح URL ويحدّد قواعده الخاصة لمعالجة العناوين.
لذلك، عند البرمجة، تكون متطلبات المكتبة أو API المعنية أهم من التسمية نفسها: هل تقبل عنوانًا كاملًا؟ وهل تدعم المراجع النسبية؟ وما المخطّطات المسموح بها؟ عند تعبئة حقل «عنوان الصفحة»، أدخل URL كاملًا؛ وعند تنفيذ تكامل، راجع التنسيق المطلوب في وثائقه.
