فهرست فهرست راهنما سرور وب

Article

July 4, 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 ممنوع یا 404 یافت نشد) یا صفحه فهرست خود را ایجاد کند که فایل ها را در فهرست فهرست بندی می کند. معمولاً این گزینه که اغلب autoindex نامیده می شود نیز قابل تنظیم است.

تاریخ

طرحی که در آن وب سرور یک فایل پیش‌فرض را بر اساس هر زیر شاخه ارائه می‌کند، از NCSA HTTPd 0.3بتا (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 در فایل های پیکربندی وب سرور کنترل می شود. این فهرست‌های دایرکتوری خودکار گاهی اوقات یک خطر امنیتی محسوب می‌شوند، زیرا آنها فایل‌های حساسی را که ممکن است برای دسترسی عمومی در نظر گرفته نشده باشند، در فرآیندی که به عنوان حمله فهرست‌بندی فهرست شناخته می‌شود، شمارش می‌کنند. چنین پیکربندی نادرست امنیتی ممکن است در حملات دیگری مانند حمله مسیر یا مسیر عبور دایرکتوری نیز کمک کند.

اجراها

هنگام دسترسی به دایرکتوری، روش‌های مختلف فهرست موجود نیز ممکن است تأثیر متفاوتی بر استفاده از منابع سیستم‌عامل (RAM، زمان CPU و غیره) و در نتیجه بر عملکرد سرور وب داشته باشند. با حرکت از سریعترین به کندترین روش، لیست زیر است: با استفاده از یک فایل فهرست ثابت، به عنوان مثال: index.html، و غیره. با استفاده از یک ویژگی وب سرور معمولاً به نام autoindex (زمانی که هیچ فایل فهرستی وجود ندارد) به وب سرور اجازه می دهد تا فهرست دایرکتوری را با استفاده از ماژول داخلی خود تولید کند. با استفاده از یک فایل تفسیر شده که توسط مفسر برنامه داخلی سرور وب خوانده می شود، به عنوان مثال: index.php; با استفاده از یک برنامه اجرایی و کامپایل شده CGI، به عنوان مثال: index.cgi.

مراجع