¿Por qué utilizar “www”?
Una de las tendencias de la web 2.0 (además de los gradiants, el glossy, las API’s, los mashups, etc) es la relegación del “www”. El subdominio “www” está fuertemente ligado a Internet, pese a que su utilización es realmente una comodidad y no una necesidad (surgió hace muchos años como una prática para diferenciar los servicios que ofrecían contenidos para la “World Wide Web” de otros que anteponían “ftp”, “mail”, etc).
Por eso, muchos desarrolladores optan por no utilizar “www” como parte de la URL de sus aplicaciones web, muchas veces desconociendo las implicaciones.
Seguridad
Cuando uno utiliza una aplicación web en un subdominio (”www” en este caso) las cookies que se generen están limitadas al mismo. Por ejemplo, si tengo un blog y me logueo en http://www.example.com/wp-admin no podría (en forma directa) acceder a esa cookie ingresando vía http://example.com/wp-admin (no estaría logueado). En cambio, si me logueo sin usar un subdominio (como en la segunda URL de ejemplo), la cookie estaría accesible desde el subdominio “www” así como cualquier otro. Si por ejemplo no utilizamos “www” para nuestro sitio principal, pero utilizamos un subdominio para un blog (ie. blog.example.com) y alguien llegara a incluir un código malicioso en un post/comentario (por una vulnerabilidad en el CMS o lo que fuese), podría robar las cookies de nuestro blog Y de la aplicación web principal.
Performance
Cuando accedemos a una aplicación web, el servidor nos devuelve además las cookies correspondiente al subdominio por el cual estamos accediendo. Si usamos cookies genéricas a todo el dominio, cada vez que carguemos una imágen o cualquier otro contenido estático desde ese servidor nos va a devolver además las cookies que usa la aplicación web en ese subdominio, aumentando el tráfico de datos y tiempo de espera. Por eso es importante separar los contenidos estáticos en otro subdominio para aumentar la performance con cada petición al servidor. Esto no implica necesariamente un debate sobre el “www” puntualmente, pero es un argumento relevante. Más información en este artículo de Yahoo!
Indexación + Performance
La mayoría de las personas ingresan a los sitios web anteponiendo “www” delante, lo cual nos deja con estos posibles escenarios:
- Si los desarrolladores optaron por no utilizar “www” y no hacer nada en su lugar, el usuario recibe un error 404 o es redirigido automágicamente al sitio correcto (esto depende del navegador, servicio DNS e ISP, por lo cual no se puede depender).
- Si optan por mostrar el mismo contenido con y sin subdominio “www”, van a obtener una duplicación de su sitio en el índice de los buscadores, lo que en el caso de Google significa una penalización (si no “blanqueamos” la situación utilizando Google Webmaster Tools o el flamante <link rel=”canonical” />)
- Si en su lugar utilizan una redirección desde “www” hacia el sitio principal, van a aumentar el tiempo de espera del usuario, ya que las redirecciones más comunes (301 y 302 vía headers) no son cacheadas por los navegadores (o lo son por un tiempo), y más si aplican reglas de redirección desde un archivo (como “.htaccess”) o desde la propia aplicación web. Yahoo! nuevamente se pronuncia al respecto.
Distribución de contenidos
El utilizar un subdominio (”www” al caso) nos permite delegar esa parte de la aplicación web a un CDN (Content Distribution Network) que se dedique a cachear y distribuir el contenido globalmente, para mejorar los tiempos de carga y respuesta de nuestra aplicación. Existen varias formas de realizar esta delegación, pero la más común suele ser por registro CNAME, el cual en forma predeterminada corresponde a los subdominios. Un famoso servicio que utiliza esto es Amazon S3 y, en otra área, Google App Engine.
En contrapartida, la mayoría de estos puntos son mitigables y dependen enteramente de la situación. Por ejemplo, si nuestro negocio es recortar URL’s no podemos darnos el lujo de agregar 4 caracteres a cada dirección que generemos.
Mi intención es exponer que no se puede condenar a un desarrollador web por optar seguir utilizando “www” y no sumarse a la moda de los dominios desnudos.







November 19th, 2009 at 4:23 pm
Perdon, pero las cookies se manejan dependiendo del directorio del servidor, siendo independiente del host. Esto hace posible que puedas logearte con o sin “www”.
Saludos
November 19th, 2009 at 5:20 pm
Hola Estefano, no exactamente, si creas cookies en un host “desnudo” (sin subdominio) las mismas se mandan en cada transacción de todos los subdominios a menos que especifiques lo contrario creando una cookie individual para un subdominio en particular. Fijate que eso es justamente de lo que se habla en el link a Yahoo! del segundo punto.
Por otro lado, poder loguearse “con y sin www” no es un beneficio sino un problema, porque podría implicar:
Contenido duplicado, si se trata de un sitio público.
Confusión, ya que un usuario logueado en http://example.com/ no va a estar logueado en http://www.example.com/
Problemas con la lógica de la aplicación web, ya que algunas partes pueden depender de la URI (por ejemplo, un regex) y pueden fallar al ser diferentes.
Mantención de un CNAME extra, lo que implica que el navegador del usuario resolverá el DNS nuevamente si el subdominio es diferente, y tirando por el suelo toda cache que haya guardado.
Espero haber aclarado ese panorama. Gracias por tu aporte, saludos!