logo El código abierto
y su importancia
en la empresa
Web Servers Apache

Volumen 1, #7, Viernes 9 de noviembre de 2007

¿Qué son?

WEB SERVER significa 2 cosas.

  • Un programa que recibe peticiones de parte de navegadores como Firefox o Explorer y devuelve paginas Web en formato HTML
  • La computadora que ejecuta este programa y realiza tal tarea

Aquí nos referiremos al primer significado, puesto que es este programa el que se encarga de realizar toda la lógica de funcionamiento. Tal lógica cuenta con varias implementaciones, 2 de las cuales están al principio de la primera tabla que se encuentra más abajo

Logica de Operación

Los navegadores como Firefox, Opera, Safari o Explorer, reciben una solicitud de los usuarios para "abrir" una "pagina": ej. www.yahoo.com.

  • El Navegador se comunica con un servidor de Nombres de Dominio (DNS) que es un directorio donde se traduce el nombre www.yahoo.com a una dirección IP (Internet Protocol) como 201.304.22.9 que representa el camino o ruta a seguir hasta llegar a la máquina o computadora que físicamente contiene el programa que funge de WebServer, tal como Apache.
  • El Navegador se comunica con tal WebServer, indicándole el documento que se está solicitando, el cual es buscado en la "ruta" que se indique en la barra de dirección del navegador. Si no se indica ningun documento, el WebServer toma el documento Indice o principal y lo envía de regreso al Navegador

Esta explicación en 2 pasos, es bastante simplificada, muchas cosas son negociadas durante la transmisión, se revisan cosas como el tipo de contenido, si viene comprimido, si es HTML o hipertexto, si es música, si la información viene encriptada, cuál es el certificado para desencriptar, si el certificado caducó o si no es válido, si hay que ejecutar procesos adicionales como el Javascript en la máquina del usuario, es decir donde está el navegador que solicita la información y además un sinumero de datos que viajan durante la transmisión entre cliente y servidor (navegador y WebServer) donde se indica la dirección IP del cliente, su sistema operativo, tipo de navegador, variables locales en su computadora y la "galleta" o cookie entre otros -que es un valor guardado en el "cliente" para que los WebServers "recuerden" quien es el cliente que se está comunicando y le eviten tener que identificarse para ingresar a algún portal. Hay mitos y realidades sobre las "cookies", los riesgos vienen cuando el cookie es manejado equivocadamente reteniendo valores sensibles como número de tarjeta de crédito. Un cookie debería guardar un número o alfanumérico cuyo valor sólo dice algo al Webserver el cual internamente podría traducir su significado sea el que fuese.

Fabricante Producto Sitios Web que lo usan
Apache Apache 67,898,632
Microsoft IIS 47,226,195
Google GWS 6,616,713
Sun Microsystems Sun-ONE-Web-Server 1,997,150
Oversee Oversee 1,601,209
lighttpd lighttpd 1,515,963
Others - 8,296,292
Total - 135,152,154

Fuente: Wikipedia


Apache

Ha sido el Web Server más importante y popular por muchas razones: flexibilidad, bajo costo, disponible para multiplataformas (todos los sistemas operativos) y soporta una gama amplia de tecnologías como Java, Perl, PHP aún sobre plataforma .NET que había sido hecha sólo para Microsoft, pero que la comunidad OpenSource ha puesto al alcance de todos vía el WebServer Apache.

La tabla anterior es producida con datos obtenidos permanentemente por Netcraft, que es la encuestadora automática de Internet, la cual es una especie de "buscador", pero que no busca documentos, sino que se conecta a servidores de internet y consulta, entre otras cosas: tipo de sistema operativo y web server usados por cada servidor.

Se verá en las gráficas de Netcraft, que en recientes fechas han habido preferencias sobre el Web Server "IIS" (Internet Information Services de Microsoft), primariamente debido a la publicidad sobre el tema .NET, cosa que amerita revisarse aquí, para saber qué cosa es.

netcraft.net

Fuente:Netcraft.net

Herramientas para Internet y WebServers

.NET de Microsoft vino al mundo por una razón: Sun Microsystems, competidora de Microsoft, había lanzado al mercado hacía tiempo un lenguaje de programación, el "Java", lo que le restó ventas a Microsoft, específicamente en lenguajes de programación como VisualBasic, y Visual C++ donde los programadores vieron ventajas en Java (como herramientas para Internet) que no tenían en los lenguajes de Microsoft. Así Microsoft inventó un C#, un Visual Basic.NET y un J# que era un Java "a la Microsoft", dando junto con los lenguajes una Librería, la .NET que puede ser usada por cualquiera de los 3 lenguajes de Microsoft (sólo estos nada más, en aquel momento).

No que la librería .NET sea indispensable para dar vida a un sitio de internet (web-site), o que sea necesaria para que un Web Server opere excepcionalmente:

  • Herramientas han existido para operar sistemas en internet, son estandar, han tenido mejoras constantes por 3 décadas y están bastante depuradas
  • Estas herramientas son en su mayoría OpenSource
  • La librería .NET retoma mucho de eso y forma una librería buena y coherente; nada hay ahí que no exista ya en Opensource; lo empaca, pone manuales, publicidad y parece una novedad para quien no sabe nada de la Infraestructura de Internet.

Apache en Perspectiva

La siguiente tabla revela claramente cuan importante es, no solo el Apache Web Server con respecto a muchos otros "Web Servers" (incluído el Internet Information System (IIS) de Microsoft), sino además, la importancia de la propia comunidad OpenSource, al tener una enorme capacidad para dar compatibilidad, apertura y soporte a un producto tan escencial como un Web Server (entre muchos elementos de sistemas), poniéndolo al alcance de cualquier sistema operativo incluido el de Microsoft y además capaz de accesar la plataforma .NET, la cual fue hecha sólo para ser usada por los lenguajes de programación de Microsoft. Notación: o No "está disponible para ese sistema operativo".

Web Server Windows Mac OS X Linux BSD Solaris eCS OpenVMS AIX z/OS
Abyss Web Server No No ? ?
And-httpd No No No ? ?
AOLserver No No ? ?
Apache HTTP Server
Apache Tomcat No ?
BadBlue No No No No No No ? ?
Boa ? ? ? No No ? ?
bozohttpd[12]





Caudium [13] No No No ?
Cherokee HTTP Server No No ? ?
Corel Web Server No No No No No No No No
Fastream IQ Web/FTP Server No No No No No No No
Fnord ? ? ? ? No No ? ?
Hiawatha Sí (Cygwin) No No ? ?
HFS No No No No No No ? ?
hssTVS No No No No No No No No
IBM HTTP Server No No ? No
IceWarp Server No No No No No No No
Internet Information Services
IIS
de Microsoft
No No No No No No No ?
Jetty ? ? No ? ?
Jigsaw No No ? ?
JRun ? ? No ? ?
Koala Web Server No Sí (FreeBSD) No No No No No
lighttpd No No ? ?
Linux khttpd No No No No No No No No
LiteSpeed Web Server No No No ? ?
Mathopd ? ? ? No No ? ?
micro_httpd (cygwin?) No No ? ?
mini_httpd (cygwin?) No No ? ?
Monkey HTTP Daemon No No No No No No ? ?
MyServer ? ? ? ?
NaviServer ? ? ?
NCSA HTTPd ? ? No No ? ?
Nginx No No No ? ?
nhttpd No No No No ? ?
Null httpd ? ? ? No No ? ?
nweb No No No No No ? ?
OpenKETA No No Planned in future Sí (FreeBSD) No No No ? ?
OpenLink Virtuoso No No ? ?
Oracle HTTP Server ? ? ? No No ?
Rock Web Server No No No No No ? ?
Roxen No No ? ?
Savant Web Server No No No No No No ? ?
SHTTPD ? ? ?
Sun Java System Web Server No No No No ?
thttpd Sí (cygwin) No No ? ?
TUX web server No No No No No No ? ?
TV's server No No No No No No No No
UltiDev Cassini Web Server No No No No No No ? ?
WASD No No No No No No No No
Web/2 No No No No No No ? ?
Xavante No No ? ?
Xitami ? ? No ? ?
Yaws ? No No ? ?
Zeus Web Server No PowerPC-only Sí (FreeBSD) No No ? ?

Fuente: Wikipedia

En general muy poca gente toma decisiones sobre qué WebServer utilizar, pues estos ya existen en servicios de WebHosting y ya vienen con el sistema operativo que se compra. Quien usa Linux, ya tiene APACHE; quien compra Windows, tiene IIS. Las diferencias en operación para quien compara uno con otra, pudiesen catalogarse de diversas maneras según los gustos de cada quien. Apache es tremendamente simple de operarse, configurarse, es modular, por lo mismo es ligero, pero su principal característica es que es OpenSource y no esconde secretos (ya que no los hay, pues todas las herramientas son estandadres ISO, ANSI, etc.), no espía ni transmite información a lugares diversos, por eso es preferido por quien busca seguridad, tal como gobiernos y departamentos militares.


En la siguiente edición #8:

Javascript, Cryptografía, Seguridad


Apdo. Postal 321, C.P. 76800. San Juan del Río, Qro. México. (427)-271-2003
ESH Powered by Energia SH