# GNU Wget

GNU Wget es una herramienta libre que permite la descarga de contenidos desde servidores web de una forma simple. Su nombre deriva de World Wide Web (w), y de «obtener» (en inglés get), esto quiere decir: obtener desde la WWW. Fue escrito originalmente por Hrvoje Nikšić y por ser un proyecto de software libre tiene una gran cantidad de colaboradores directos e indirectos.
Actualmente admite descargas mediante los protocolos HTTP, HTTPS y FTP. Entre las características más destacadas que ofrece Wget está la posibilidad de fácil descarga de mirrors (repositorios) complejos de forma recursiva, conversión de enlaces para la visualización de contenidos HTML localmente, soporte para proxies, etc.
Su primera versión se lanzó en 1996, coincidiendo con el boom de popularidad de la web. Es un programa utilizado a través de línea de comandos, principalmente en sistemas tipo UNIX, especialmente en GNU/Linux. Escrito en el lenguaje de programación C, Wget puede ser fácilmente instalado en sistemas derivados de UNIX, y ha sido portado a muchas interfaces gráficas de usuario (GUI) y aplicaciones gráficas de descarga como Gwget para GNOME, wGetGUI y VisualWget para Microsoft Windows, Wget 1.10.2r2 para Mac OS X.

## Historia

Su desarrollo comenzó en 1995 con el nombre de Geturl pero fue cambiado a Wget debido a que ya existía otro programa con ese nombre en la plataforma AmigaOS. Debido a su capacidad de manejar ambos HTTP y FTP aunado que provenía de ambiente UNIX hicieron la amalgama perfecta para la aceptación por parte de los usuarios. El hardware y conexiones de la época eran lentas y con multitud de errores de transmisión por lo que se necesitaba una automatización del trabajo y Wget encajó muy bien y en el momento oportuno.

### Resumen de versiones

* Enero de 1991: primera versión pública nombrada como Geturl.
* Noviembre de 1996: con el nombre de Wget se publica la versión 1.4.0 y además bajo la licencia GNU.
* Febrero de 1997: la versión 1.4.3 es incorporado al proyecto GNU/Linux con la licencia de Free Software Foundation.
* Septiembre de 1998: la versión 1.5.3 alcanza la popularidad debido a su distribución con GNU/Linux.
* Diciembre de 1999: gracias a la ayuda y esfuerzo de Dan Harkless fueron corregidos muchos aspectos, liberando así la versión 1.6.0
* Junio de 2001: la versión 1.7.0 incluye soporte para SSL, cookies y conexiones persistentes.
* Diciembre de 2001:versión 1.8.0 con control de velocidad, indicadores de progreso y gráficos.
* Octubre de 2003: versión 1.9.0 incluye de manera experimental IPv6.
* Junio de 2005: Mauro Tortonesi aporta su labor y la versión 1.10.0 trae mejoras en SSL, soporte [NTLM]] y manejo de grandes archivos.
* Enero de 2000: Micah Cowan labora para ofrecer la versión 1.11.0 la cual está bajo Licencia Públic General versión 3.
* Septiembre de 2009: versión 1.12.0 es capaz de analizar URL en CSS y soporta Identificar de Recurso Internacionalizado.
* Agosto de 2011: versión 1.13.1
* Abril de 2012: versión 1.13.4 cliente GnuTLS.
* Octubre de 2017: versión 1.17.1
* Enero de 2018: versión 1.19.3

## Características
### Robustez

Wget ha sido diseñado para la robustez en conexiones de red lentas o inestables. Si una descarga no se completa debido a un problema en la red, Wget automáticamente tratará de seguir descargado desde donde acabó, y repetir el proceso hasta que el archivo completo haya sido recuperado. Fue uno de los primeros clientes que hizo uso de la entonces nueva cabecera HTTP Range, para ofrecer esta característica.

### Descarga recursiva

Wget opcionalmente puede trabajar como una araña web extrayendo recursos enlaces de las páginas web HTML y descargarlas en la secuencia, repitiendo el proceso recursivamente hasta que todas las páginas hayan sido descargadas o hasta que haya sido alcanzada una profundidad de repetición máxima especificada por el usuario. Las página web descargadas son guardadas en una estructura de directorio que se parece a un servidor remoto. Esta descarga recursiva permite hacer una copia exacta de cualquier sistema de archivos parcial o completamente de un sitio web vía HTTP. Los enlaces de sitios web HTML descargados pueden ser ajustados para indicar el punto o zona de descarga. Cuando se realiza esta clase de copia exacta del sistema de archivos (en inglés mirroring) automática de un sitio web, Wget es compatible con el estándar de exclusión de robots.

### Portabilidad

Escrito en una forma que permita la portabilidad, en lenguaje de programación C y con la menor cantidad posible de bibliotecas de terceros, Wget requiere no mucho más que un compilador de C y una interfaz tipo de BSD para usar la red con TCP/IP. Diseñado como un programa Unix para invocarse desde una línea de comandos, el programa ha sido portado a numerosos sistemas y ambientes tipo Unix, tales como Cygwin y Mac OS X, así como también a sistemas Microsoft Windows.

### Otras características

* Wget soporta descargas a través de proxies, los cuales son ampliamente desplegados para proporcionar acceso web dentro de cortafuegos de empresas y al caché para rápidamente entregar contenido de acceso frecuente.
* Hace uso de conexiones persistentes de HTTP donde están disponibles.
* Compatible con IPv6 en sistemas que incluyan las interfaces apropiadas.
* Puede usarse SSL/TLS para el cifrado de las descargas usando la biblioteca OpenSSL.
* Puede descargar archivos más grandes a 2 gigabytes en sistemas de 32 bits que incluyan las interfaces apropiadas.
* La velocidad de descarga puede ser limitada para evitar consumir toda el ancho de banda disponible.