stringtranslate.com

Índice del directorio del servidor web

www.wikipedia.org, el índice de Wikipedia, una enciclopedia en línea multilingüe. La página de inicio del sitio web ofrece muchos idiomas diferentes.

Cuando un cliente HTTP (generalmente un navegador web ) solicita una URL que apunta a una estructura de directorio en lugar de una página web real dentro de la estructura de directorio, el servidor web generalmente servirá una página predeterminada, a menudo denominada página principal o "índice".

Un nombre de archivo común para una página de este tipo es , pero la mayoría de los servidores HTTP modernos ofrecen una lista configurable de nombres de archivos que el servidor puede usar como índice. Si un servidor está configurado para admitir secuencias de comandos del lado del servidor , la lista generalmente incluirá entradas que permitan usar contenido dinámico como página de índice (por ejemplo , , , , , ) aunque puede ser más apropiado especificar la salida HTML ( o ), ya que esto no debe darse por sentado. Un ejemplo es el popular servidor web de código abierto Apache , donde la lista de nombres de archivos está controlada por la directiva [1] en el archivo de configuración del servidor principal o en el archivo de configuración para ese directorio . Es posible no usar extensiones de archivo en absoluto, y ser neutral con respecto a los métodos de entrega de contenido, y configurar el servidor para que elija automáticamente el mejor archivo a través de la negociación de contenido .index.htmlindex.cgiindex.plindex.phpindex.shtmlindex.jspdefault.aspindex.html.phpindex.html.aspxDirectoryIndex

Si el servidor no puede encontrar un archivo con ninguno de los nombres que aparecen en su configuración, puede devolver un error (normalmente 403 Index Listing Forbidden o 404 Not Found ) o generar su propia página de índice que incluya los archivos del directorio. Normalmente, esta opción, a menudo denominada autoindex, también es configurable. [2]

Historia

Un esquema en el que el servidor web sirve un archivo predeterminado por subdirectorio ya se admitía en NCSA HTTPd 0.3beta (22 de abril de 1993), [3] que por defecto sirve index.htmlel archivo en el directorio. [3] [4] Este esquema fue adoptado por CERN HTTPd desde al menos 2.17beta (5 de abril de 1994), cuyo valor predeterminado admite Welcome.htmly welcome.htmlademás del . de origen NCSA index.html. [5]

Los servidores web posteriores suelen admitir este esquema de archivo predeterminado de una forma u otra; esto suele ser configurable, siendo index.htmluno de los nombres de archivo predeterminados. [6] [7] [8]

Implementación

Una página de índice de Apache .

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 geotargeting . También es posible evitar este paso, por ejemplo, utilizando la negociación de contenido .

En los casos en los que no existe ningún archivo conocido index.*dentro de un directorio determinado, el servidor web puede configurarse para proporcionar un listado generado automáticamente de los archivos dentro del directorio. Con el servidor web Apache, por ejemplo, este comportamiento lo proporciona el módulo mod_autoindex [9] y lo controla la Options +Indexesdirectiva [10] en los archivos de configuración del servidor web . Estos listados de directorios automatizados a veces son un riesgo de seguridad porque enumeran archivos confidenciales que pueden no estar destinados al acceso público, en un proceso conocido como ataque de indexación de directorios. [11] Una configuración de seguridad incorrecta de este tipo [12] también puede ayudar en otros ataques, como un ataque de recorrido de ruta o directorio . [13]

Actuaciones

Al acceder a un directorio, los distintos métodos de índice disponibles también pueden tener un impacto diferente en el uso de los recursos del sistema operativo ( RAM , tiempo de CPU , etc.) y, por lo tanto, en el rendimiento del servidor web.

Procediendo del método más rápido al más lento , aquí está la lista:

Referencias

  1. ^ "mod_dir - Servidor HTTP Apache". httpd.apache.org . Consultado el 30 de mayo de 2014 .
  2. ^ ASF Infrabot (22 de mayo de 2019). «Listados de directorios». Fundación Apache: proyecto de servidor HTTPd . Consultado el 16 de noviembre de 2021 .
  3. ^ ab "WWW-Talk abril-junio de 1993: NCSA httpd versión 0.3". 1997.webhistory.org .
  4. ^ "NCSA HTTPd DirectoryIndex". 31 de enero de 2009. Archivado desde el original el 31 de enero de 2009.
  5. ^ "Historial de cambios de W3C httpd". 5 de junio de 1997. Archivado desde el original el 5 de junio de 1997.
  6. ^ "mod_dir - Apache HTTP Server Version 2.4 § DirectoryIndex Directive". httpd.apache.org . Archivado desde el original el 2020-11-12 . Consultado el 2021-01-13 .
  7. ^ "Documentación de NGINX | Entrega de contenido estático". docs.nginx.com . Archivado desde el original el 2020-11-11 . Consultado el 2021-01-13 .
  8. ^ "Documento predeterminado <defaultDocument> | Microsoft Docs". docs.microsoft.com . Archivado desde el original el 2020-12-08 . Consultado el 2021-01-13 .
  9. ^ "mod_autoindex - Servidor HTTP Apache versión 2.4". httpd.apache.org . Consultado el 13 de enero de 2021 .
  10. ^ "core - Apache HTTP Server Version 2.4 § Directiva de opciones". httpd.apache.org . Consultado el 13 de enero de 2021 .
  11. ^ "Documentos de IBM". IBM . 8 de marzo de 2021 . Consultado el 7 de mayo de 2021 .
  12. ^ "A6:2017-Configuración incorrecta de seguridad". OWASP . Consultado el 7 de mayo de 2021 .
  13. ^ "Recorrido de ruta". OWASP . Consultado el 7 de mayo de 2021 .