ASP.NET 1.x / 2.0
ASP.NET WebForms sobre el runtime .NET 2.0. La cabecera X-AspNet-Version: 2.0.50727 es literalmente el número de compilación del .NET Framework 2.0, publicado en 2005.
El servidor manda con cada página una cabecera —una etiqueta que el visitante no ve, pero que su navegador lee— y en ella va escrito el número de compilación exacto del programa de Microsoft que la generó. Ese número, 2.0.50727, es de 2005. No es una suposición sobre la antigüedad del sitio: es el propio servidor presentándose.
- 2005empieza a ser lo normal
- hacia 2012deja de serlo
- hoy14 años después, el archivo la sigue encontrando
Por qué entonces
WebForms fue un intento deliberado de que programar para web se pareciera a programar una aplicación de escritorio: arrastras un botón, escribes su evento Click y el framework se encarga del resto. Para una plantilla formada en Visual Basic —que es la que tenían muchos departamentos públicos— fue la puerta de entrada a la web sin reciclarse.
Qué pasó
El precio de esa comodidad fue el ViewState: un campo oculto donde se serializa el estado entero de la página y viaja en cada petición. Cuando llegaron el móvil y el JavaScript moderno, ese modelo se hizo insostenible. Microsoft se movió a MVC (2009) y luego a ASP.NET Core.
Por qué está mal hoy
El runtime .NET 2.0 dejó de recibir soporte independiente hace años. Y el ViewState de esa generación tiene un historial serio de problemas de deserialización cuando las claves de máquina son débiles o compartidas.
En lo público
Que la cabecera anuncie la versión exacta del runtime es, además, un regalo gratuito: cualquiera sabe contra qué está mirando sin hacer nada.
El arreglo
Migración a .NET moderno. Es un salto grande; el paso intermedio realista es dejar de publicar la cabecera y aislar la aplicación detrás de un proxy mientras se planifica.
§ 1La distancia
- desde que dejó de ser la opción normal, hacia 201214 añosel corpus del museo cierra su época hacia 2012; la captura es de 2026
La distancia es lo único que esta sala calcula sola: los años entre el final de la época que le da el corpus del museo y la fecha en que la captura la encontró sirviendo. Ninguno de los dos extremos se ha inventado aquí, y cada renglón dice de dónde sale. Lo que no se escribe es desde cuándo existe la forma de hoy de hacer lo mismo: esa fecha necesitaría una fuente que el museo no guarda, y una fecha que no se puede citar no se publica, por evidente que parezca a quien ya lo sepa.
Esta ficha explica la tecnología; los casos concretos, con su cita y su procedencia, viven en las piezas.