Índice de un servidor web

De Wikipedia, la enciclopedia libre
www.wikipedia.org, el índice de Wikipedia, una enciclopedia multilingüe en línea. En la página de inicio se presenta el sitio en diversos idiomas.

Cuando 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 programación 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[1]​ 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[editar]

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),[2]​ que recurre al archivo index.html como directorio.[2][3]​ 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.[4]

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.[5][6][7]

Implementación[editar]

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[8]​ y es controlada por la directiva Options +Indexes [9]​ 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.[10]​ Esta mala configuración[11]​ de seguridad también puede asistir en otros ataques, como el salto o cruce de directorio.[12]

Referencias[editar]

  1. «mod_dir - Apache HTTP Server». httpd.apache.org. Consultado el 30 de mayo de 2014. 
  2. a b «WWW-Talk Apr-Jun 1993: NCSA httpd version 0.3». 1997.webhistory.org. 
  3. «NCSA HTTPd DirectoryIndex». 31 de enero de 2009. Archivado desde el original el 31 de enero de 2009. 
  4. «Change History of W3C httpd». 5 de junio de 1997. Archivado desde el original el 5 de junio de 1997. 
  5. «mod_dir - Apache HTTP Server Version 2.4 § DirectoryIndex Directive». httpd.apache.org. Archivado desde el original el 12 de noviembre de 2020. Consultado el 13 de enero de 2021. 
  6. «NGINX Docs | Serving Static Content». docs.nginx.com. Archivado desde el original el 11 de noviembre de 2020. Consultado el 13 de enero de 2021. 
  7. «Default Document <defaultDocument> | Microsoft Docs». docs.microsoft.com. Archivado desde el original el 8 de diciembre de 2020. Consultado el 13 de enero de 2021. 
  8. «mod_autoindex - Apache HTTP Server Version 2.4». httpd.apache.org. Consultado el 13 de enero de 2021. 
  9. «core - Apache HTTP Server Version 2.4 § Options Directive». httpd.apache.org. Consultado el 13 de enero de 2021. 
  10. «IBM Docs». IBM. 8 de marzo de 2021. Consultado el 7 de mayo de 2021. 
  11. «A6:2017-Security Misconfiguration». OWASP. Consultado el 7 de mayo de 2021. 
  12. «Path Traversal». OWASP. Consultado el 7 de mayo de 2021.