Índice de un servidor web
# Índice de un servidor web

Mira un cliente HTTP (generalmente un navegador web) solicita un URL que dirige a un directorio y no a una página web dentro de dicho directorio, generalmente y por defecto el servidor web será el contenido visualizado, a menudo referido como página principal o de índice.

Un nombre común para este tipo de página es index.html, hoy en día la mayor parte de los servidores HTTP ofrecen una lista configurable de nombres que el servidor puede usar como un índice. Si un servidor está configurado para soportar script del lado del servidor, la lista normalmente incluirá entradas que permitan que el contenido dinámico sea utilizado como página de índice (p. ej. index.php, index.shtml, index.jsp, default.asp) incluso aunque pueda ser más apropiado aún especificar la salida como HTML (index.html.php o index.html.aspx), ya que esto no tendría que ser dado por hecho. Un ejemplo es Apache, el popular servidor web de código abierto, donde la lista de posibles nombres de archivo está controlada por la directiva DirectoryIndex en el archivo de configuración general del servidor o en el archivo de configuración para aquel directorio. Es posible a no utilizar extensiones de archivo en absoluto, y ser neutros en los métodos de entrega de contenido, haciendo que el servidor automáticamente elija el mejor archivo a través de negociación de contenido.

Si el servidor no encuentra un archivo con cualquiera de los nombres listados en su configuración, puede regresar un error (generalmente 404 No Encontrado) o generar su propia página de índice, listando los archivos en el directorio. También podría regresar un error 403 Listado de Índice Prohibido. Normalmente esta opción es también configurable.

## Historia

Un esquema donde servidor web funge como archivo por defecto del subdirectorio se ha soportado desde NCSA HTTPd 0.3beta (22 de abril de 1993), que recurre al archivo index.html como directorio. Este esquema fue subsecuentemente adoptado por CERN HTTPd desde al menos 2.17beta (5 de abril de 1994), que por defecto soporta Welcome.html y welcome.html además de index.html con original de NCSA.

Posteriormente, los servidores web soportarían este esquema de archivos, de una u otra forma; usualmente de forma configurable, con index.html como uno de los nombres por defecto.

## Implementación

En algunos casos, la página de inicio de un sitio web puede ser un menú de opciones de idioma para sitios grandes que utilizan geofocalización. Es también posible de evitar este paso, por ejemplo, usando negociación de contenido.

En casos donde ningún index.html existe dentro del directorio, el servidor web puede configurarse para generar automáticamente un listado de los archivos dentro del directorio. Por ejemplo, en el servidor web Apache esta función la proporciona el módulo mod_autoindex y es controlada por la directiva Options +Indexes en los archivos de configuración del servidor web. Estos listados de directorio automatizado pueden ser un riesgo de seguridad, ya que pueden enumeran archivos sensibles que no pretenden ser de acceso público, en un proceso conocido como ataque de indexación del directorio. Esta mala configuración de seguridad también puede asistir en otros ataques, como el salto o cruce de directorio.

