When an HTTP client (generally a web browser) requests a URL that points to a directory structure instead of an actual web page within the directory structure, the web server will generally serve a default page, which is often referred to as a main or "index" page.
A common filename for such a page is
index.html, but most modern HTTP servers offer a configurable list of filenames that the server can use as an index. If a server is configured to support server-side scripting, the list will usually include entries allowing dynamic content to be used as the index page (e.g.
default.asp) even though it may be more appropriate to still specify the HTML output (
index.html.aspx), as this should not be taken for granted. An example is the popular open source web server Apache, where the list of filenames is controlled by the
DirectoryIndex directive in the main server configuration file or in the configuration file for that directory. It is possible to not use file extensions at all, and be neutral to content delivery methods, and set the server to automatically pick the best file through content negotiation.
If the server is unable to find a file with any of the names listed in its configuration, it may either return an error (generally 404 Not Found) or generate its own index page listing the files in the directory. It may also return a 403 Index Listing Forbidden. Usually this option is also configurable.
A scheme where web server serves a default file on per-subdirectory basis has been supported as early as NCSA HTTPd 0.3beta (22 April 1993), which defaults to serve
index.html file in the directory. This scheme has been then adopted by CERN HTTPd since at least 2.17beta (5 April 1994), whose default supports
welcome.html in addition to the NCSA-originated
In cases where no
index.html exists within a given directory, the web server may be configured to provide an automatically-generated listing of the files within the directory instead. With the Apache web server, for example, this behavior is provided by the mod_autoindex module and controlled by the
Options +Indexes directive in the web server configuration files. These automated directory listings are sometimes a security risk because they enumerate sensitive files which may not be intended for public access, in a process known as a directory indexing attack. Such a security misconfiguration may also assist in other attacks, such as a path or directory traversal attack.
Article Webserver directory index in English Wikipedia took following places in local popularity ranking:
Presented content of the Wikipedia article was extracted in 2021-09-17 based on https://en.wikipedia.org/?curid=20646122