stringtranslate.com

Индекс каталога веб-сервера

www.wikipedia.org, индекс Википедии, многоязычной онлайн-энциклопедии. Здесь домашняя страница веб-сайта предлагает множество различных языков.

Когда HTTP- клиент (обычно веб-браузер ) запрашивает URL-адрес , указывающий на структуру каталогов, а не на фактическую веб-страницу в структуре каталогов, веб-сервер обычно предоставляет страницу по умолчанию, которую часто называют главной или «индексной» страницей.

Распространенным именем файла для такой страницы является , но большинство современных HTTP-серверов предлагают настраиваемый список имен файлов, которые сервер может использовать в качестве индекса. Если сервер настроен для поддержки серверных скриптов , список обычно будет включать записи, позволяющие использовать динамическое содержимое в качестве страницы индекса (например , , , , , , ), хотя может быть более уместным все же указать вывод HTML ( или ), поскольку это не следует воспринимать как должное. Примером является популярный веб-сервер с открытым исходным кодом Apache , где список имен файлов контролируется директивой [1] в основном файле конфигурации сервера или в файле конфигурации для этого каталога . Можно вообще не использовать расширения файлов и быть нейтральным к методам доставки содержимого, а также настроить сервер на автоматический выбор лучшего файла посредством согласования содержимого .index.htmlindex.cgiindex.plindex.phpindex.shtmlindex.jspdefault.aspindex.html.phpindex.html.aspxDirectoryIndex

Если сервер не может найти файл с любым из имен, перечисленных в его конфигурации, он может либо вернуть ошибку (обычно 403 Index Listing Forbidden или 404 Not Found ), либо сгенерировать собственную страницу индекса со списком файлов в каталоге. Обычно эта опция, часто называемая autoindex, также настраивается. [2]

История

Схема, в которой веб-сервер обслуживает файл по умолчанию для каждого подкаталога, поддерживалась еще в NCSA HTTPd 0.3beta (22 апреля 1993 г.), [3] которая по умолчанию обслуживает index.htmlфайл в каталоге. [3] [4] Затем эта схема была принята CERN HTTPd по крайней мере с версии 2.17beta (5 апреля 1994 г.), которая по умолчанию поддерживает Welcome.htmlи welcome.htmlв дополнение к NCSA-инициализированному index.html. [5]

Более поздние веб-серверы обычно поддерживают эту схему файлов по умолчанию в той или иной форме; обычно это можно настроить, используя index.htmlодно из имен файлов по умолчанию. [6] [7] [8]

Выполнение

Индексная страница Apache .

В некоторых случаях домашняя страница веб-сайта может быть меню языковых опций для крупных сайтов, использующих геотаргетинг . Также можно избежать этого шага, например, используя согласование контента .

В случаях, когда index.*в указанном каталоге нет известных файлов, веб-сервер может быть настроен на предоставление автоматически сгенерированного списка файлов в каталоге вместо этого. Например, с веб-сервером Apache это поведение обеспечивается модулем mod_autoindex [9] и контролируется директивой Options +Indexes[ 10] в файлах конфигурации веб-сервера . Эти автоматизированные списки каталогов иногда представляют угрозу безопасности, поскольку они перечисляют конфиденциальные файлы, которые могут не быть предназначены для публичного доступа, в процессе, известном как атака индексации каталога. [11] Такая неправильная конфигурация безопасности [12] может также способствовать другим атакам, таким как атака обхода пути или каталога . [13]

Выступления

При доступе к каталогу различные доступные методы индексации могут также по-разному влиять на использование ресурсов ОС ( ОЗУ , процессорного времени и т. д.) и, следовательно, на производительность веб-сервера.

Вот список, начиная с самого быстрого метода и заканчивая самым медленным :

Ссылки

  1. ^ "mod_dir - Apache HTTP Server". httpd.apache.org . Получено 2014-05-30 .
  2. ^ ASF Infrabot (2019-05-22). "Списки каталогов". Apache foundation: проект HTTPd-сервера . Получено 2021-11-16 .
  3. ^ ab "WWW-Talk Апрель-Июнь 1993: NCSA httpd версии 0.3". 1997.webhistory.org .
  4. ^ "NCSA HTTPd DirectoryIndex". 31 января 2009 г. Архивировано из оригинала 31 января 2009 г.
  5. ^ "История изменений W3C httpd". 5 июня 1997 г. Архивировано из оригинала 5 июня 1997 г.
  6. ^ "mod_dir - Apache HTTP Server версии 2.4 § DirectoryIndex Directive". httpd.apache.org . Архивировано из оригинала 2020-11-12 . Получено 2021-01-13 .
  7. ^ "NGINX Docs | Обслуживание статического контента". docs.nginx.com . Архивировано из оригинала 2020-11-11 . Получено 2021-01-13 .
  8. ^ "Документ по умолчанию <defaultDocument> | Microsoft Docs". docs.microsoft.com . Архивировано из оригинала 2020-12-08 . Получено 2021-01-13 .
  9. ^ "mod_autoindex - Apache HTTP Server версии 2.4". httpd.apache.org . Получено 2021-01-13 .
  10. ^ "core - Apache HTTP Server Version 2.4 § Options Directive". httpd.apache.org . Получено 2021-01-13 .
  11. ^ "IBM Docs". IBM . 2021-03-08 . Получено 2021-05-07 .
  12. ^ "A6:2017-Ошибочная конфигурация безопасности". OWASP . Получено 2021-05-07 .
  13. ^ "Path Traversal". OWASP . Получено 2021-05-07 .