miércoles, 9 de marzo de 2016

Servidores web más populares en el IBEX 35

Hace poco vimos cómo analizar las cabeceras en las comunicaciones HTTP con cURL [aquí].

Entre otras cosas, vimos el valor de la propiedad "Server", que nos informaba del servidor web y algunas tecnologías que podían estar disponibles en el servidor (PHP, ASP...).

Pues bien, hace unos días me surgió la pregunta de qué servidores web son los más populares entre las "empresas grandes". Veamos cómo podemos usar cURL y los filtros de Linux (lo mismo se puede hacer en Windows) para hacer una pequeña estadística de esto.

Primero, como "empresas grandes" he considerado las que forman parte del IBEX 35.

Si queremos ver lo que nos devuelven un par de ellas, podemos escribir algo así:

curl -I --url www.abertis.com --url www.endesa.com

Y obtendríamos esta respuesta


Fig. 1. Cabeceras de dos sitios web

Podemos filtrar sólo aquellas cabeceras que tengan la cadena "Server:"

curl -I --url www.abertis.com --url www.endesa.com |grep "Server:"


Fig. 2. Filtrando para quedarnos exclusivamente con la cabecera "Server:"

Como se puede ver, al usar cURL en pipelines nos va mostrando una estadística con los porcentajes de descargas, un medidor de progreso (cURL lo llama "Progress Meter"). De momento lo ignoraremos.

En el ejemplo anterior he puesto únicamente dos URLs, pero como me interesan las 35 URLs de las empresas del IBEX 35, lo que haré será poner estas URLs en un fichero y usar la opción -K de cURL para decirle que tome de allí las URLs.


Fig. 3. Fichero con las URLs de las empresas del IBEX 35.

Ya podemos invocar a cURL con ese fichero:

curl -I -K urls_ibex35.txt |grep "Server:"


Fig. 4. Vamos viendo los servidores, pero el medidor de progreso nos ensucia la salida

Con la opción -s (silent) podemos hacer que desaparezca el medidor de progreso.

curl -I -K urls_ibex35.txt -s |grep "Server:"


Fig. 5. La cabecera "Server" sin el medidor de progreso

Vale, ya estamos cerca del final. Podemos ver unas cuantas cosas interesantes. En primer lugar, no todos los servidores devuelven la cabecera "Server". De hecho, hay tan sólo 26 resultados, lo cual quiere decir que más de la cuarta parte de los administradores web de estas empresas (9 servidores) han decidido ocultar la información acerca del servidor web que utilizan. Además, uno de ellos devuelve una cadena en blanco, lo cual es lo mismo que ocultarlo. Total, 10 de 35 no lo indican, casi un 29%. Lo cual quiere decir que el otro 71% ven con buenos ojos publicar esta información, aunque con diferentes niveles de detalle. Y todo esto, asumiendo que no hayan falseado esta cadena para devolver un valor erróneo, cosa que también cae dentro de lo posible (aunque lo considero poco probable, la verdad).

Por último, en vez de contar a mano, hagamos un poco de "pipelining".

curl -I -K urls_ibex35.txt -s |grep "Server:" |sort |uniq -c |sort -nr


Fig. 6. Agrupando por Servidor web

Como vemos, el ganador es...(redoble de tambores...)... ¡APACHE!

Apache está disponible en 12 de los 26 sitios web que publican la información, o sea, un 46%. Una gran diferencia con respecto a la segunda posición, ocupada por diferentes versiones del servidor de Microsoft, IIS, con 4 sitios (un 15%) y en tercera posición hay un (sorprendente para mí, pues no lo conocía) servidor llamado AkamaiGHost, que tienen 3 de las 26 empresas (casi un 12%).

Bueno, me parecen unos resultados interesantes de conocer. Además, no puede uno evitar pensar enseguida en extender esta estadística a otras empresas, universidades, organismos oficiales, gobiernos... Pero eso lo dejaremos para otra ocasión.



¿Y tu organización, qué servidor web utiliza? ¿Publica su nombre, versión, tecnologías asociadas...?

Related Posts Plugin for WordPress, Blogger...