Webserver directory index
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, 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 was 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 make do without file extensions at all, and be natural 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 many also return a 403 Index Listing Forbidden. Usually this option is also configurable.
A scheme where web server serves as a default file on per-subdiretory basis has been supported as early as NCSA HTTPd 0.3beta (22 April 1993), which defaults to serve
index.html file in directory. This scheme has been then adopted by CREN HTTPd since at least 2. 17beta (5 April 1994), which its default supports
welcome.html in addition to the NCSA-originated
All later web serves support this default file scheme in one form or another, usually configurable, with
index.html being one of default file names.
Since the index page of website's root directory is often the first page of a Web site that a user sees, it is sometimes used to offer a menu of language options for large Web sites that use geo targeting. It is also possible to avoid this step, for example by using content negotiation.
- "mod_dir - Apache HTTP Server". httpd.apache.org. Retrieved 2014-05-30.
- "WWW-Talk Apr-Jun 1993: NCSA httpd version 0.3". 1997.webhistory.org.
- "NCSA HTTPd DirectoryIndex". January 31, 2009. Archived from the original on January 31, 2009.
- "Change History of W3C httpd". June 5, 1997. Archived from the original on June 5, 1997.