فهرس دليل خادم الويب

Article

August 18, 2022

عندما يطلب عميل HTTP (مستعرض ويب بشكل عام) عنوان URL يشير إلى بنية دليل بدلاً من صفحة ويب فعلية داخل بنية الدليل ، فسيقوم خادم الويب عمومًا بتقديم صفحة افتراضية ، والتي يشار إليها غالبًا باسم الصفحة الرئيسية أو " صفحة فهرس. اسم ملف شائع لمثل هذه الصفحة هو index.html ، ولكن معظم خوادم HTTP الحديثة تقدم قائمة قابلة للتكوين بأسماء الملفات التي يمكن للخادم استخدامها كفهرس. إذا تم تكوين الخادم لدعم البرمجة النصية من جانب الخادم ، فستتضمن القائمة عادةً إدخالات تسمح باستخدام المحتوى الديناميكي كصفحة فهرس (على سبيل المثال ، index.cgi ، index.pl ، index.php ، index.shtml ، index.jsp ، default.asp) على الرغم من أنه قد يكون من الأنسب تحديد إخراج HTML (index.html.php أو index.html.aspx) ، حيث لا ينبغي اعتبار ذلك أمرًا مفروغًا منه. مثال على ذلك هو خادم الويب الشهير مفتوح المصدر Apache ، حيث يتم التحكم في قائمة أسماء الملفات بواسطة التوجيه DirectoryIndex في ملف تكوين الخادم الرئيسي أو في ملف التكوين لهذا الدليل. من الممكن عدم استخدام امتدادات الملفات على الإطلاق ، وأن تكون محايدًا لطرق تسليم المحتوى ، وتعيين الخادم لاختيار أفضل ملف تلقائيًا من خلال التفاوض على المحتوى. إذا كان الخادم غير قادر على العثور على ملف بأي من الأسماء المدرجة في التكوين الخاص به ، فقد يقوم إما بإرجاع خطأ (عادةً 403 Index List Forbidden أو 404 Not Found) أو ينشئ صفحة فهرس خاصة به تسرد الملفات في الدليل. عادةً ما يكون هذا الخيار ، الذي يُسمى غالبًا المؤشر التلقائي ، قابلاً للتهيئة أيضًا.

التاريخ

تم دعم مخطط حيث يخدم خادم الويب ملفًا افتراضيًا على أساس كل دليل فرعي في وقت مبكر مثل NCSA HTTPd 0.3beta (22 أبريل 1993) ، والذي يفترض أن يخدم ملف index.html في الدليل. تم اعتماد هذا المخطط بعد ذلك بواسطة CERN HTTPd منذ 2.17 بيتا على الأقل (5 أبريل 1994) ، والذي يدعم افتراضيًا Welcome.html و welcome.html بالإضافة إلى index.html الذي تم إنشاؤه بواسطة NCSA. تدعم خوادم الويب اللاحقة نظام الملفات الافتراضي هذا. بشكل أو بآخر ؛ يكون هذا عادةً قابلاً للتهيئة ، حيث يكون index.html أحد أسماء الملفات الافتراضية.

التنفيذ

في بعض الحالات ، يمكن أن تكون الصفحة الرئيسية لموقع ويب قائمة بخيارات اللغة للمواقع الكبيرة التي تستخدم الاستهداف الجغرافي. من الممكن أيضًا تجنب هذه الخطوة ، على سبيل المثال ، باستخدام تفاوض المحتوى. في الحالات التي لا يوجد فيها ملف index. * معروف داخل دليل معين ، قد يتم تكوين خادم الويب لتوفير قائمة تم إنشاؤها تلقائيًا بالملفات داخل الدليل بدلاً من ذلك. باستخدام خادم الويب Apache ، على سبيل المثال ، يتم توفير هذا السلوك من خلال الوحدة النمطية mod_autoindex ويتم التحكم فيه بواسطة التوجيه Options + Indexes في ملفات تكوين خادم الويب. تكون قوائم الدليل المؤتمتة هذه في بعض الأحيان مخاطرة أمنية لأنها تعداد الملفات الحساسة التي قد لا تكون مخصصة للوصول العام ، في عملية تعرف باسم هجوم فهرسة الدليل. قد يساعد مثل هذا التكوين الخاطئ للأمان أيضًا في هجمات أخرى ، مثل هجوم اجتياز المسار أو الدليل.

العروض

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

المراجع