لا تتغير معرّفات URI الرائعة

بقلم السير تيم بيرنرز لي ، مخترع URI و URL و HTTP و HTML وشبكة الويب العالمية والرئيس الحالي لـ W3C. مكتوب عام 1998



ما هو عنوان URI الرائع؟

واحد لا يتغير.

كيف تتغير URIs؟

URIs لا تتغير: الناس يغيرونها.



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



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



لقد أعدنا تنظيم الموقع لجعله أفضل.



هل تشعر حقًا أن URIs القديمة لا تعمل بعد الآن؟ إذا كان الأمر كذلك ، فقد اخترتهم بشكل سيء للغاية. ضع في اعتبارك الاحتفاظ بالجديد من إعادة التصميم التالية.



لدينا الكثير من المواد التي لا يمكننا تتبع ما عفا عليه الزمن ، وما هو سري ، وما لا يزال ذا صلة ، ولذا اعتقدنا أنه من الأفضل إيقاف تشغيله.



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



حسنًا ، وجدنا أننا بحاجة إلى نقل الملفات ...



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



لم يعد جون يحتفظ بهذا الملف ، والآن تقوم جين بذلك.



هل كان اسم جون في URI؟ لا ، كان الملف فقط في دليله؟ حسنًا ، حسنًا.



اعتدنا استخدام برنامج نصي CGI لهذا ، لكننا الآن نستخدم برنامجًا ثنائيًا.



هناك فكرة مجنونة أن الصفحات المكتوبة يجب أن تكون موجودة في منطقة "cgibin" أو "cgi". هذا يكشف آلية كيفية بدء تشغيل خادم الويب الخاص بك. غيّر الآلية (حتى مع الاحتفاظ بالمحتوى) وعذرًا - تتغير جميع عناوين URL الخاصة بك.



خذ مؤسسة العلوم الوطنية (NSF) على سبيل المثال:



وثائق NSF عبر الإنترنت

http://www.nsf.gov/cgi-bin/pubsys/browser/odbrowse.pl


من الواضح أن الصفحة الأولى لبدء عرض المستندات لن تظل كما هي في غضون سنوات قليلة. cgi-bin، oldbrowseو pl - كل هذا يعطي جزيئات من المعلومات حول كيف نفعل ذلك الآن. إذا كنت تستخدم الصفحة للبحث عن مستند ، فستحصل على نتيجة سيئة مماثلة أولاً:



تقرير مجموعة العمل حول نظرية التشفير والترميز

http://www.nsf.gov/cgi-bin/getpub؟nsf9814


لصفحة فهرس المستند ، على الرغم من أن مستند html نفسه يبدو أفضل بكثير:



http://www.nsf.gov/pubs/1998/nsf9814/nsf9814.htm


هنا سوف يعطي العنوان pubs / 1998 أي خدمة أرشفة مستقبلية دليلًا جيدًا على أن مخطط تصنيف المستندات القديم لعام 1998 ساري المفعول. على الرغم من أن أرقام المستندات قد تبدو مختلفة في عام 2098 ، يمكنني أن أتخيل أن عنوان URI هذا سيظل صالحًا ولن يتعارض مع NSF أو أي منظمة أخرى ستحتفظ بالأرشيف بأي شكل من الأشكال.



لم أكن أعتقد أنه كان من المفترض أن تكون عناوين URL ثابتة - كانت URNs.



ربما يكون هذا أحد أسوأ الآثار الجانبية لمناقشة URN. يعتقد بعض الناس أنه بسبب البحث عن مساحة اسم أكثر ثباتًا ، فقد يكونون مهملين بشأن الروابط المتدلية لأن "URNs ستصلحها جميعًا" إذا كنت أحد هؤلاء الأشخاص ، دعني أشعر بخيبة أمل.



تبدو معظم مخططات URN التي رأيتها كمعرف استنادي متبوعًا إما بالتاريخ والسلسلة التي تحددها ، أو السلسلة التي تحددها فقط. هذا مشابه جدًا لـ HTTP URI. بعبارة أخرى ، إذا كنت تعتقد أن مؤسستك ستكون قادرة على إنشاء URNs طويلة العمر ، فقم بإثبات ذلك الآن باستخدامها مع عناوين HTTP الخاصة بك. لا يوجد شيء في HTTP نفسه يجعل URI غير مستقر. مؤسستك فقط. قم بإنشاء قاعدة بيانات تقوم بتعيين URN الخاص بالمستند إلى اسم الملف الحالي والسماح لخادم الويب باستخدامه لاسترداد الملفات بالفعل.



إذا وصلت إلى هذه النقطة ، إذا لم يكن لديك الوقت والمال والاتصالات لتطوير نوع من البرامج ، فيمكنك ذكر العذر التالي:



أردنا ذلك ، لكننا لا نمتلك الأدوات المناسبة.



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



أنت بحاجة إلى القدرة على تغيير الملكية والوصول إلى المستندات والأمان على مستوى الأرشيف وما إلى ذلك في مساحة URI دون تغيير URI.



إنه سيء ​​للغاية. لكننا سنصلح الوضع. في W3C ، نستخدم وظيفة Jigedit (خادم تحرير Jigsaw) التي تتعقب الإصدارات ، ونجرب البرامج النصية لإنشاء المستندات. إذا كنت تقوم بتطوير أدوات وخوادم وعملاء ، فاحرص على الانتباه لهذه المشكلة!



ينطبق هذا العذر على العديد من صفحات W3C أيضًا ، بما في ذلك هذا: افعل ما أقوله ، وليس ما أفعله.



لماذا يجب علي الاهتمام؟



عندما تقوم بتغيير URI على الخادم الخاص بك ، لا يمكنك أبدًا معرفة من سيرجع إلى URI القديم. يمكن أن تكون هذه روابط من صفحات الويب العادية. الإشارات المرجعية إلى صفحتك. ربما تم خدش URI في هامش رسالة إلى صديق.



عندما ينقر شخص ما على ارتباط ويتم كسره ، فإنه عادة ما يفقد الثقة في مالك الخادم. كما أنه يشعر بخيبة أمل - عاطفياً وواقعيًا من عدم القدرة على تحقيق هدفه.



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



اذا ماذا يجب أن أفعل؟ تصميم URI



تقع على عاتق مشرف الموقع مسؤولية تخصيص URIs التي يمكن استخدامها في عامين ، في 20 عامًا ، في 200 عام. هذا يتطلب التفكير والتنظيم والالتزام.



تتغير عناوين URL إذا تغيرت بعض المعلومات فيها. كيف تصممهم مهم جدا. (What، URI design؟ I need to design URI؟ Yes، you should think about it). يعني التصميم في الأساس عدم وجود أي معلومات في URI.



تاريخ إنشاء المستند - تاريخ إصدار URI - شيء لن يتغير أبدًا. إنه مفيد جدًا لفصل الطلبات التي تستخدم النظام الجديد عن تلك التي تستخدم النظام القديم. إنها نقطة انطلاق جيدة لـ URI. إذا تم تأريخ المستند ، حتى لو كان المستند ذا صلة في المستقبل ، فهذه بداية جيدة.



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



http://www.pathfinder.com/money/moneydaily/latest/


هذا هو العمود الأخير من Money Daily في مجلة Money. السبب الرئيسي لعدم احتياج URI هذا إلى تاريخ هو عدم وجود سبب لتخزين URI الذي سيبقى على قيد الحياة في السجل. سيختفي مفهوم Money Daily عندما يختفي المال. إذا كنت تريد الارتباط بمحتوى ، فيجب عليك الارتباط به بشكل منفصل في الأرشيف:



http://www.pathfinder.com/money/moneydaily/1998/981212.moneyonline.html


(يبدو جيدًا. لنفترض أن "المال" يعني نفس الشيء بالنسبة إلى عمر pathfinder.com. هناك نسخة مكررة "98" و ".html" غير ضرورية ، ولكن بخلاف ذلك تبدو مثل URI قوي.



ماذا نترك جانبا



الكل! بصرف النظر عن تاريخ الإنشاء ، فإن وضع أي معلومات في URI هو بطريقة أو بأخرى استجداء للمشاكل.



  • اسم المؤلف . اللوم قد يتغير مع الإصدارات الجديدة. يترك الناس المنظمات ويمررون الأشياء إلى الآخرين.

  • الموضوع . انه صعب جدا. يبدو دائمًا جيدًا في البداية ، لكنه يتغير بسرعة مفاجئة. سأخوض في مزيد من التفاصيل حول هذا أدناه.

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

  • . W3C , . , , , , , . , , , - , ! .

  • . . "cgi", ".html" . , 20 HTML , . W3C ( ).

  • آليات البرمجيات . في URI ، ابحث عن "cgi" و "exec" والمصطلحات الأخرى التي تصرخ "انظر إلى البرنامج الذي نستخدمه". هل يريد أحد أن يكرس حياته كلها لنصوص Perl CGI؟ لا؟ ثم قم بإزالة الامتداد .pl. اقرأ دليل الخادم حول كيفية القيام بذلك.

  • اسم القرص. هيا! لكني رأيت ذلك.


لذا فإن أفضل مثال من موقعنا هو ببساطة



http://www.w3.org/1998/12/01/chairs


... تقرير محضر اجتماع رؤساء W3C.



المواضيع والتصنيف حسب الموضوع



سأخوض في مزيد من التفاصيل حول هذا الخطر ، لأنه من الأشياء التي يصعب تجنبها. عادةً ما تنتهي الموضوعات في URIs عندما تقوم بتصنيف مستنداتك من خلال العمل الجاري. لكن هذا الانهيار سيتغير بمرور الوقت. ستتغير أسماء المناطق. في W3C ، أردنا تغيير MarkUP إلى Markup ثم HTML ليعكس المحتوى الفعلي للقسم. بالإضافة إلى ذلك ، غالبًا ما تكون مساحة الاسم مسطحة. بعد 100 عام ، هل أنت متأكد من أنك لن ترغب في إعادة استخدام أي شيء؟ في حياتنا القصيرة ، أردنا بالفعل إعادة استخدام "History" و "Style Sheets" ، على سبيل المثال.



إنها طريقة مغرية لتنظيم موقع ويب - وهي طريقة مغرية حقًا لتنظيم أي شيء ، بما في ذلك الويب بالكامل. هذا حل ممتاز على المدى المتوسط ​​، لكن له عيوب خطيرة على المدى الطويل.



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



في الواقع ، عند استخدام اسم موضوع في URI ، فإنك تربط نفسك بنوع من التصنيف. يمكنك اختيار خيار مختلف في المستقبل. ثم سيخضع URI للانتهاك.



سبب استخدام مجال الموضوع كجزء من URI هو أن المسؤولية عن الأقسام الفرعية لمساحة URI يتم تفويضها عادةً ، وفي هذه الحالة تحتاج إلى اسم الهيئة التنظيمية - وحدة أو مجموعة أو أيًا كان - المسؤولة عن تلك المساحة الفرعية. هذا هو ارتباط URI بالهيكل التنظيمي. عادةً ما يكون آمنًا فقط عندما يكون URI أسفل (يسارًا) محميًا بتاريخ: 1998 / pics يمكن أن تعني لخادمك "ما قصدناه في 1998 بالصور" ، وليس "ما فعلناه مع 1998 ما نسميه الآن بلدان جزر المحيط الهادئ. "



لا تنس اسم المجال الخاص بك



تذكر أن هذا لا ينطبق فقط على المسار في URI ، ولكن أيضًا على اسم الخادم. إذا كان لديك خوادم منفصلة لأشياء مختلفة ، فتذكر أن هذا الفصل لن يكون من الممكن تغييره دون تدمير العديد والعديد من الروابط. بعض الأخطاء الكلاسيكية مثل "انظر إلى البرامج التي نستخدمها اليوم" هي أسماء النطاقات "cgi.pathfinder.com" ، "آمنة" ، "lists.w3.org". وهي مصممة لتسهيل إدارة الخادم. بغض النظر عما إذا كان المجال يمثل قسمًا معينًا داخل شركتك أو حالة المستند أو مستوى الوصول أو مستوى الأمان ، يجب توخي الحذر الشديد قبل استخدام أكثر من اسم مجال لأنواع متعددة من المستندات. تذكر أنه يمكنك إخفاء العديد من خوادم الويب داخل خادم ويب واحد مرئي ،باستخدام إعادة التوجيه والوكلاء.



نعم ، وفكر أيضًا في اسم المجال الخاص بك. لا تريد أن يُشار إليك باسم soap.com بعد تغيير خط إنتاجك والتوقف عن صنع الصابون (أعتذر لكل من يملك soap.com في الوقت الحالي).



خاتمة



من الواضح أن حفظ URI لمدة 2 أو 20 أو 200 أو حتى 2000 سنة ليس سهلاً كما يبدو. ومع ذلك ، يتخذ مشرفو المواقع في جميع أنحاء الإنترنت قرارات ستجعل الأمر صعبًا على أنفسهم في المستقبل. هذا غالبًا لأنهم يستخدمون أدوات تتمثل مهمتها في تقديم أفضل موقع فقط في الوقت الحالي - ولم يقم أحد بتقدير ما سيحدث للروابط عندما يتغير كل شيء. ومع ذلك ، فإن النقطة هنا هي أنه يمكن تغيير الكثير والكثير ، ويمكن ويجب أن تظل عناوين URL الخاصة بك كما هي. هذا ممكن فقط عندما تفكر في كيفية إنشائها.



أنظر أيضا:



المكملات



كيفية إزالة ملحقات الملفات ...



... من URI في خادم الويب الحالي المستند إلى الملفات؟



إذا كنت تستخدم Apache ، على سبيل المثال ، يمكنك تكوينه للتفاوض على المحتوى. يمكنك حفظ امتداد الملف (على سبيل المثال ، .png) في ملف (على سبيل المثال ، mydog.png ) ، ولكن يمكنك الارتباط بمورد ويب بدونه. يتحقق Apache بعد ذلك من الدليل لجميع الملفات التي تحمل هذا الاسم وأي امتداد ، ويمكنه اختيار الأفضل من المجموعة (على سبيل المثال ، GIF و PNG). ولا يتعين عليك وضع أنواع مختلفة من الملفات في أدلة مختلفة ، في الواقع ، لن يعمل التفاوض على المحتوى إذا قمت بذلك.



  • تكوين الخادم الخاص بك للتفاوض على المحتوى

  • قم دائمًا بالإشارة إلى URIs بدون امتداد


ستظل روابط الامتداد تعمل ، ولكنها ستمنع خادمك من اختيار أفضل تنسيق متاح حاليًا وفي المستقبل.



(في الواقع، mydog، mydog.pngو mydog.gif- رموز والموارد على شبكة الإنترنت mydog- عالمي نوع المحتوى الموارد، mydog.pngو mydog.gif- موارد المحتوى نوع معين).



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



لوحة العار - القصة 1: القناة السابعة



طوال عام 1999 ، قمت بتتبع إغلاق المدارس بسبب الثلوج عبر الصفحة http://www.whdh.com/stormforce/closings.shtml. لا تنتظر ظهور المعلومات أسفل شاشة التلفزيون! لقد ربطته من صفحتي الرئيسية. جاءت أول عاصفة ثلجية كبيرة عام 2000 وأتفقد الصفحة. تقول:



- اعتبارًا من.

لا شيء مغلق حاليا. يرجى العودة في حالة وجود تحذيرات الطقس.




لا يمكن أن تكون نفس العاصفة القوية. من المضحك أن التاريخ مفقود. ولكن إذا انتقلت إلى الصفحة الرئيسية للموقع ، فسيكون هناك زر كبير "المدارس المغلقة" ، والذي يؤدي إلى صفحة http://www.whdh.com/stormforce/بها قائمة طويلة من المدارس المغلقة.



ربما قاموا بتغيير نظام الحصول على القائمة - لكنهم لم يكونوا بحاجة إلى تغيير URI.



لوحة العار - القصة 2: Microsoft Netmeeting



مع تزايد الاعتماد على الإنترنت ، جاءت الفكرة الذكية إلى التطبيقات التي يمكنك من خلالها تضمين روابط إلى موقع الشركة المصنعة على الويب. لقد تم استخدام هذا وإساءة استخدامه كثيرًا ، ولكن - لا يمكنك تغيير عنوان URL. في اليوم الآخر فقط جربت ارتباطًا من Microsoft Netmeeting 2 / something client في Help / Microsoft في قائمة Web / Free stuff وحصلت على خطأ 404 - لم يتم العثور على استجابة من الخادم. ربما بالفعل ثابتة ...



© 1998 تيم BL



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



أنظر أيضا:






All Articles