هناك نوع فرعي من uri. معرف الموارد الموحد (URI) والغرض منه ومكوناته

27.02.2019

عنوان URL(محدد موقع الموارد الموحد)- محدد موقع موحد (معرف الموقع) للمورد. عنوان URLهي طريقة موحدة لكتابة عنوان أحد الموارد على الإنترنت.

URI(معرف الموارد الموحد)- معرف المورد الموحد (الموحد). URIعبارة عن سلسلة من الأحرف التي تحدد موردًا مجردًا أو ماديًا.

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

هيكل عنوان الموقع

دعونا نعود إلى عنوان URL http://school.it2moro.ru/ . يمكن تقسيمها إلى 3 أجزاء:

  1. http://
  2. مدرسة
  3. it2moro

الجزء الاول تحدد العناوين (http://) بروتوكول التفاعل بين المتصفح والخادم. في حالتنا هو عليه بروتوكول HTTP، عنه سنتحدثإضافي.

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

كود مصدر صفحة HTML

الآن دعونا نلقي نظرة على ما يتلقاه المتصفح استجابةً لطلب HTTP الذي تم إنشاؤه. يمكن أن تتكون الصفحة من نص وصور وارتباطات تشعبية وحقول إدخال وأزرار وعناصر أخرى. تم نقل المعلومات حول كل هذا من خادم الويب إلى المتصفح، مما أدى إلى إنشاء الملف النهائي مظهرالصفحات. يتم وصف البيانات المرسلة باستخدام بروتوكول HTML.

لغة البرمجة(لغة ​​ترميز النص التشعبي، لغة ترميز النص التشعبي)- لغة ترميزية قياسية للمستندات الموجودة على الإنترنت. لغة HTMLيتم تفسيرها بواسطة المتصفح وعرضها كمستند في شكل يمكن قراءته بواسطة الإنسان.

يمكننا القول أن المتصفحات تؤدي وظيفتين رئيسيتين - فهي تتفاعل مع خوادم الويب من خلال طلبات HTTP بالإضافة إلى تحويل كود HTML المستلم من الخادم إلى تمثيل مرئي.

1.4. معرف الموارد الموحد (URI).

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

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

ملحوظة

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

يتكون URI للمورد من ثلاثة أجزاء: اسم آلية الوصول إلى المورد، واسم مجال الكمبيوتر، ومسار ملف المورد. لتوضيح ذلك خذ مثالا:

هنا يمكنك أن ترى أن الوصول إلى المورد هو في هذه الحالةهو مستند HTML، ويتم استخدام بروتوكول HTTP ( نص مفرطبروتوكول نقل). يتم تخزين المورد على جهاز كمبيوتر يحتوي على اسم النطاق somesite.com في الملف ex_1.html الموجود في المجلد /info/examples.

يمكن أيضًا استخدام عناوين URI للإشارة إلى أجزاء من مستندات HTML، على سبيل المثال:

باستخدام URI هذا، يمكنك الوصول إلى جزء من مستند HTML يسمى الوصف (سنغطي كيفية إنشاء أسماء لأجزاء مستند HTML في الفصل 5).

تتيح لك عناوين URI أيضًا الرجوع إلى الموارد الموجودة داخل نفس الكمبيوتر. وفي هذه الحالة يشار مسار نسبيالموارد. على سبيل المثال، للإشارة إلى الملف /info/files/file1.jpg من مستند HTML الموجود في المجلد /info/examples، تحتاج فقط إلى تحديد URI /files/file1.jpg. في مستندات HTML، باستخدام هذه الروابط، تتم الإشارة إلى مسارات الصور والكائنات الأخرى المستخدمة في المستندات، ولكن لم يتم تخزينها مباشرة فيها.

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


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

في الأساس، هذا يعني أنه على الرغم من أن المسار الفعلي للملف قد تغير، إلا أن موقعه السابق غير الصحيح لا يزال مسجلاً في سجل Windows. عندما يحاول Windows البحث عن مراجع الملفات غير الصحيحة هذه (مواقع الملفات على جهاز الكمبيوتر الخاص بك)، يمكن أن يحدث خطأ URI.as. بالإضافة إلى ذلك، ربما تكون الإصابة بالبرامج الضارة قد أدت إلى إتلاف إدخالات التسجيل المرتبطة بـ Fueling ColdFusion Development. لذلك، يجب إصلاح إدخالات التسجيل AS التالفة لإصلاح المشكلة من الجذر.

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

وبسبب هذه المخاطرة، نوصي بشدة باستخدام منظف التسجيل الموثوق به مثل WinThruster (الذي تم تطويره بواسطة Microsoft Gold Certified Partner) لفحص وإصلاح أي مشاكل في التسجيل ذات صلة بـ URI.as. باستخدام منظف التسجيل، يمكنك أتمتة عملية البحث عن إدخالات التسجيل التالفة، وروابط الملفات المفقودة (على سبيل المثال، تسبب الخطأ URI.as) والروابط المعطلة داخل التسجيل. قبل كل فحص، أ نسخة إحتياطية، والذي يسمح لك بالتراجع عن أي تغييرات بنقرة واحدة ويحميك منها الضرر المحتملحاسوب. أفضل ما في الأمر هو أن التخلص من أخطاء التسجيل يمكن أن يؤدي إلى تحسين سرعة النظام وأدائه بشكل كبير.


تحذير:إذا لم تكن مستخدم ذو خبرةعلى أجهزة الكمبيوتر الشخصية، لا نوصي بتحرير سجل Windows يدويًا. يمكن أن يؤدي الاستخدام غير الصحيح لمحرر التسجيل إلى مشاكل خطيرةوالطلب إعادة تثبيت ويندوز. نحن لا نضمن أن المشاكل الناتجة عن سوء استخداميمكن إزالة محرر التسجيل. يمكنك استخدام محرر التسجيل على مسؤوليتك الخاصة.

قبل الاستعادة يدويًا سجل ويندوز، فأنت بحاجة إلى إنشاء نسخة احتياطية عن طريق تصدير جزء التسجيل المرتبط بـ URI.as (على سبيل المثال، Fueling ColdFusion Development):

  1. انقر على الزر يبدأ.
  2. يدخل " يأمر" الخامس شريط البحث... لا تنقر بعد يدخل!
  3. أثناء الضغط باستمرار على المفاتيح CTRL-التحولعلى لوحة المفاتيح، اضغط يدخل.
  4. سيتم عرض مربع حوار للوصول.
  5. انقر نعم.
  6. يفتح الصندوق الأسود بمؤشر وامض.
  7. يدخل " رجديت" و اضغط يدخل.
  8. في محرر التسجيل، حدد المفتاح المرتبط بـ URI.as (على سبيل المثال، Fueling ColdFusion Development) الذي تريد نسخه احتياطيًا.
  9. على القائمة ملفيختار يصدّر.
  10. في القائمة حفظ فيحدد المجلد الذي تريد حفظ النسخة الاحتياطية فيه من مفتاح Fueling ColdFusion Development.
  11. في الميدان اسم الملفأدخل اسمًا لملف النسخ الاحتياطي، على سبيل المثال "Fueling ColdFusion Development Backup".
  12. تأكد من المجال نطاق التصديرالقيمة المحددة الفرع المختار.
  13. انقر يحفظ.
  14. سيتم حفظ الملف مع ملحق .reg.
  15. لديك الآن نسخة احتياطية من إدخال التسجيل المتعلق بـ URI.as.

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

العمل مع URIs

كل يوم نستخدمه معرفات الموارد الموحدة (URI)، عندما نبحث عن شيء ما على WWW. هناك حاجة إلى عناوين URI لتحديد والاستعلام النوع الجديدالموارد. باستخدام URI، لا يمكنك الوصول إلى صفحات الويب فحسب، بل يمكنك أيضًا الوصول إلى خادم FTP وخدمة ويب والملفات المحلية.

غالبًا ما يستخدم هذا المصطلح بدلاً من URI محدد موقع الموارد (URL). URI هو مصطلح عام يستخدم للربط بالموارد. عنوان URL هو عنوان URI مرتبط بأنظمة URI الشائعة مثل http وftp وmailto. في الوثائق الفنيةلم يعد مصطلح URL مستخدمًا.

مصطلح آخر قد تعرفه بالفعل هو اسم المورد الموحد (URN). URN هو عنوان URI قياسي يُستخدم لتحديد المورد بغض النظر عن موقعه على الشبكة.

دعنا نحلل أجزاء عنوان URI التي ترتبط بصفحة على موقع المعرفة العالمية:

http://www.globalknowledge.net:80/training/generic.asp?pageid=1078&country=DACH

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

    محدد المخطط متبوعًا باسم الخادم أو عنوان IP فيه العشريبالنقاط، على سبيل المثال www.globalknowledge.net.

    يتبع اسم الخادم أو عنوان IP رقم المنفذ الذي يحدد الاتصال به تطبيق معينعلى الخادم. إذا لم يتم تحديد رقم المنفذ، فسيتم استخدام رقم المنفذ الافتراضي لهذا البروتوكول (على سبيل المثال، المنفذ 80 لـ HTTP).

    طريقيحدد الصفحة (والدليل) للمورد المطلوب. لا يمثل بالضرورة الملف الماديعلى الخادم، أو يمكن إنشاؤها بشكل حيوي. في هذه الحالة، يبدو المسار /training/generic.asp.

    من المسار بالرمز؟ يتم فصل الجزء الأخير من URI هذا، ويسمى استفسار. في مثالنا، يتم تعريف الطلب بواسطة السطر pageid=1078&country=DACH. يمكن أن تتكون سلسلة الاستعلام من عدة مكونات، يحدد كل منها متغيرًا وقيمة، ويتم ربطهما بواسطة الحرف &. يمكن دمج مكونات استعلام متعددة باستخدام الحرف &. لذلك، في مثالنا، المكون الأول هو pageid=1078 مع متغير pageid والقيمة 1078، والمكون الثاني هو Country=DACH.

    يمكن تحديد الأقسام داخل المورد باستخدام الأجزاء. فتاتيتم استخدامها للربط بالأقسام داخل صفحة HTML. في تطوير صفحات الويب، تسمى الأجزاء أيضًا الإشارات المرجعية. يفصل الحرف # معرف الجزء عن المسار. في عنوان URL http;//www.microsoft.com/net/basics/glossary.asp#NETFramework، الجزء هو السلسلة #NETFramework.

إذا تمت إضافة الحرف # إلى سلسلة الاستعلام، فلن يعد جزءًا. يمكن أن يحتوي عنوان URL على سلسلة استعلام أو جزء، ولكن ليس كليهما.

يتم حجز استخدام عدة أحرف في URI - ولا يمكن أن تظهر في أسماء المضيفين أو المسارات لأنها أحرف محددة خاصة. الأحرف التالية محجوزة في URI:

; / ? : @ & = + $ ,

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

يمكنك إنشاء كائن Uri عن طريق تمرير سلسلة URI إلى المُنشئ:

Uri baseURI = new Uri("http://site");

إذا كان هناك بالفعل كائن URI أساسي، فيمكنك إنشاء URI جديد من خلال دمج URI الأساسي مع URI نسبي:

Uri baseURI = new Uri("http://site"); Uri newURI = new Uri(baseURI, "my/csharp/web/level2/2_2.php");

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

تحتوي فئة Uri على العديد من الحقول الثابتة للقراءة فقط والتي تسمح لك بالحصول على بعض المخططات الشائعة:

Uri.UriSchemeFile

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

Uri.UriSchemeFtp

يتم استخدام بروتوكول FTP مع نظام ftp لتلقي الملفات من خادم ftp، وعلى العكس من ذلك، لوضع الملفات على خادم ftp.

Uri.UriSchemeGopher

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

Uri.UriSchemeHttp, Uri.UriSchemeHttps

وهذان المخططان معروفان جيدًا: http وhttps. يتم استخدام نظام https للتبادل الآمن.

Uri.UriSchemeMailto

يتم استخدام نظام mailto لإرسال رسائل البريد.

Uri.UriSchemeNews، Uri.UriSchemeNntp

يتم استخدام أنظمة الأخبار وnntp في مجموعات الأخبار التي تستخدم بروتوكول NNTP.

فئة أوري لديها أساليب ثابتةللتحقق من صحة المخطط واسم المضيف: يُرجع Uri.CheckSchemeName() صحيحًا إذا كان اسم المخطط صحيحًا والطريقة UriCheckHostName()لا يتحقق فقط من اسم المضيف، بل يُرجع أيضًا قيمة تعداد UriHostNameType التي تشير إلى نوع المضيف.

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

Uri المطلق تعرض هذه الخاصية URI الكامل. إذا كان رقم المنفذ المحدد للبروتوكول مساويًا لرقم المنفذ الافتراضي، فسيقوم مُنشئ Uri بإزالته تلقائيًا. على سبيل المثال، تبدو قيمة خاصية أبسولوتوري كما يلي: http://www.globalknowledge.net/t تمطر/generic.asp?pageid=1078&country=DACH. إذا تم تمرير اسم ملف إلى مُنشئ فئة Uri، فإن خاصية أبسولوتوري تسبق اسم الملف تلقائيًا بالمخطط file://.
مخطط المخطط هو الجزء الأول من URI، وفي هذه الحالة تقوم هذه الخاصية بإرجاع القيمة http.
يستضيف تعرض الخاصية Host اسم المضيف من URI: www.globalknowledge.net
سلطة إذا كان رقم المنفذ يساوي الرقم المستخدم بواسطة البروتوكول الافتراضي، فإن خاصية المرجع تعرض نفس السلسلة مثل خاصية المضيف. إذا تم استخدام رقم منفذ مختلف، فستعرض خاصية السلطة أيضًا رقم المنفذ.
نوع اسم المضيف يعتمد نوع اسم المضيف على الاسم المستخدم. في هذه الحالة، يتم الحصول على نفس قيمة تعداد UriHostNameType الذي تمت مناقشته أعلاه.
ميناء باستخدام خاصية المنفذ، يتم الحصول على رقم المنفذ - 80.
المسار المطلق المسار المطلقيبدأ بعد رقم المنفذ في URI وينتهي قبل سلسلة الاستعلام. في هذه الحالة هو /training/generic.asp.
LocalPath المسار المحلي يعطي القيمة /training/generic.asp. كما يمكن أن يرى، ل طلب HTTPلا يوجد فرق بينAbsolutePath و LocalPath. يظهر الفرق إذا كان URI يشير إلى مشترك مورد الشبكة. بالنسبة لعنوان URI في ملف النموذج:\\server\share\directory\file.txt، تقوم خاصية LocalPath بإرجاع أسماء الدليل والملفات فقط، وتتضمن خاصية AbstractPath أسماء الخادم والمشاركة.
استفسار تعرض خاصية الاستعلام السطر الذي يتبع المسار: ?pageid=1078&country=DACH.
PathAndQuery توفر الخاصية PathAndQuery مجموعة المسار وسلسلة الاستعلام: /training/generic.asp?pageid=1078&country=DACH.
شظية إذا كان المسار متبوعًا بجزء، فسيتم إرجاعه في خاصية الجزء. يمكن أن يتبع المسار فقط سلسلة استعلام أو جزء. يتم التعرف على القطعة بواسطة الرمز #
شرائح تقوم الخاصية Segments بإرجاع مجموعة من السلاسل المتكونة من المسار. في هذه الحالة لدينا ثلاثة أجزاء: /، التدريب/ وgeneric.asp.
معلومات المستخدم يمكن قراءة اسم المستخدم المعين في URI من خاصية UserInfo. يعد تمرير أسماء المستخدمين أمرًا شائعًا في بروتوكول نقل الملفات، وإذا لم يتم تحديده مستخدم مجهولمثلا بروتوكول نقل الملفات:// [البريد الإلكتروني محمي]، فإن خاصية UserInfo ستعيد myuser.

بالإضافة إلى تلك المدرجة، هناك العديد من الخصائص الأخرى التي ترجع قيمًا منطقية إذا كان URI يمثل ملفًا أو مسار UNC أو عنوانًا تعليقأو إذا ل من هذا البروتوكوليتم استخدام رقم المنفذ الافتراضي. هذه الخصائص هي IsFile وIsUnc وIsLoopback وIsDefaultPort على التوالي.