ceejayoz tiene la mejor respuesta para evitar el ataque específicamente mencionado aquí, pero también quiero señalar lo que falta a mucha gente aquí, que básicamente es que HTTP ya ha resuelto la otra parte. Desea hacer una redirección 301 permanente. Esto le dice al cliente que haga más solicitudes a la nueva dirección. Entonces, sí, si alguien escribe la URL incorrecta, realizará 2 solicitudes PERO, en el futuro, se supone que un buen cliente detectará las solicitudes a esa URL y realizará la solicitud correcta para evitar más solicitudes desperdiciadas. El problema es que esto es solo para esa URL exacta. HSTS mejora este esquema al decir también: "durante los próximos n segundos tampoco se permiten conexiones no seguras desde este dominio".
Los usuarios no deben visitar sitios sensibles en ubicaciones inseguras. Especialmente no deberían registrarse para ellos en lugares inseguros. Estos son principios básicos de seguridad del usuario que deberían enseñarse como, 'no abra archivos adjuntos de fuentes no confiables'. Cuáles son realmente la mejor respuesta para prevenir ataques MiM para sitios que nunca han sido visitados.
Como nota al margen, algunos navegadores mejoran esto al decir que ciertos sitios conocidos siempre usan HSTS. Desafortunadamente, no puede simplemente agregarse a esta lista fácilmente.
Lectura adicional:
http://coderrr.wordpress.com/2010/12/27/canonical-redirect-pitfalls-with-http-strict-transport-security-and-some-solutions/
http://dev.chromium.org/sts