ما الفرق بين URI و URL و URN ؟



ما الفرق بين URI و URL و URN ؟


ربما التقارب بين هذه المسميات يسبب بعض الارتباك في فهم كل مصطلح وهدفه وهذا يرجع للتشابه في الاسماء وربما في بعض الاحيان ﻷن الغالبية تعرف مصطلح url وتتعامل معه بكثرة ولا تهتم بباقي المصطلحات رغم انه رسمياً يتم تداولهم بدرجة كبيرة , إذا ما دورهم وما اهميتهم؟ هذا ما سنوضحه في هذا االمقال إن شاء الله.
:URI(Uniform Resource Identifier)

الترجمة الحرفية لهذا المصطلح تعني معرف المصدر الرسمي ويمكنك القول بأنه المظلة الرئيسية والاشمل لتحديد مصدر معلومات على شبكة الانترنت ( ربما يكون مصدر المعلومات الذي تبحث عنه صورة أو ملف او وثيقة او صفحة ويب او غيرهم) ومن الممكن ان يعرفهم بالاسم او بالمكان او ربما باﻹثنين معاً , عندما تقوم بفتح المتصفح لتصل إلى مكان ما على الانترنت انت في الحقيقة تبحث عن معرف محدد يحتوي على المعلومات التي تريدها لكن في الغالب انت تصل لمعلوماتك عن طريق المكان (url) وهذا ما يسبب الخلط بأن البعض يعتقد ان ( uri) يقصد به (url) لكن في حقيقة الامر فإن (URI) يتكون من جزئين رئيسيين هما: ( URL و URN) , لذلك فليس من الضروري ان يحتوي ( URI ) على المكان بل ربما يحتوي على الاسم فقط وتأكد انك ستصل لمصدر معلوماتك ايضاً
على سبيل المثال :
http://www.w3.org/Icons/w3c_home هذا الURI هو مصدر لصورة شعار موقع w3c ربما تلاحظ انه لا يوجد امتداد للصورة ذلك ﻷن ما هو مكتوب هو الاسم فقط والذي سيصل بك إلى مصدر المعلومة التي تريدها وإذا حاولت تخزين الصورة ستجد ان امتدادها png وربما يختلف الامتداد من جهاز إلى آخر وهذا هو بيت القصيد ,
حيث ان تعريف المصدر عن طريق الاسم فقط ربما يعطي المرونة للمبرمج بأن يتعامل مع الاجهزة المختلفة بطريقة مختلفة فمثلا إذا كنت تحاول الوصول إلى مصدر المعلومة ( في هذه الحالة الصورة ) وانت على جهاز لا يدعم امتداد png فمن الممكن ان يتخذ المبرمج قرار بأن تصل إلى الصورة بإمتداد آخر ربما jpg او gif اما إذا كنت تحاول الوصول عن طريق url فكان لابد من ان تكتب إمتداد الصورة في نهاية الرابط وهنا يفقد المبرمج هذه الميزة.
:URN(Uniform Resource Name)

الترجمة الحرفية تعني اسم المصدر الرسمي والمقصود هنا هو ان المصدر يتم تعريفه بإسم يميزه عن غيره من المصادر على الشبكة وجدير بالذكر ان URN هو جزء من URI , ويتم تعريف مصدر المعلومات هنا عن طريق namespace ويمكنك إعتبار namespace مثل اسم العائلة في اسماء البشر مثلا حيث إذا كان هناك مجموعة وهناك اكثر من شخص يدعى محمد وانت تقصد شخص معين منهم فلربما تناديه مقترناً بإسم عائلته لتميزه عن باقي المجموعة حتى تصل للشخص المراد, ولكن المشكلة تكمن في ان الURN لا يحتوي على كيفية الوصول للمصدر حيث انك إذا حصلت على URN فقط لمصدر معلومة فلن تستطيع الوصول إليها ما لم تحصل على طريقة الوصول إليه.
يتكون URN من : <URN> ::= “urn:” <NID> “:” <NSS> حيث
NID :Namespace Identifier nunber وتحتوي على ارقام
NSS: Namespace Specific String وتحتوي على حروف
:URL(Uniform Resource Locator)

الترجمة الحرفية تعني المسار الرسمي للمصدر والمقصود هو المسار المحدد على الشبكة للوصول إلى مصدر معلومة محددة , وطبعاً هو الاشهر والاكثر إستخداما من حيث التعامل اليومي مع الانترنت فعلى سبيل المثال انت تكتب http://king-arb.com لتصل إلى مصدر معلومات محدد ربما تكتب http://www.google.com لتصل لمصدر آخر ولكن URL ليس مقتصر على بروتوكول http فقط لكن ربما تجد ftp://mywebsite.com او smb://mywebsite.com وكلها URL تؤدي إلى مصادر مختلفة من المعلومات ,
جدير بالذكر ان كل URL هو جزء من URI ولكن ليس شرط ان كل URI يحتوي على URL ,
بالعودة إلى مثال w3c فقد كتبنا مسار URI للوصول إلى الشعار وإليكم URLs للوصول لنفس الشعار:

http://www.w3.org/Icons/w3c_home.gif
http://www.w3.org/Icons/w3c_home.png

في هذه الحالة فإن URL يحدد المسار للوصول إلى المكان المحدد للصورة على server وهنا إذا كنت تستخدم جهاز لا يدعم احد الامتدادات التي بالمسارات اعلاه فستظهر لك رسالة خطأ ويفقد الموقع ديناميكية التعامل مع الاجهزة المختلفة وحصولهم على المعلومات المناسبة .
لمزيد من المعلومات :






اضغط على السمايل للحصول على الكود: :) =( :s :D :-D ^:D ^o^ 7:( :Q :p T_T @@, :-a :W *fck* x@

TOP