¿Hay algún método para saber si un sitio web es solo https o también usa páginas web http? ¿Se puede hacer sin usar el caché de los navegadores?
¿Hay algún método para saber si un sitio web es solo https o también usa páginas web http? ¿Se puede hacer sin usar el caché de los navegadores?
Voy a suponer que estás hablando de HSTS .
HSTS es TOFU (Confianza en el primer uso). Así que desde el segundo uso en adelante, estás protegido.
Pero ¿qué pasa con ese primer uso?
No creo que haya una estrategia unificada. Pero he aquí algunas ideas:
Lo que funciona hoy
Lo que podría funcionar en el futuro
DANE / DNSSEC: DNS es un vehículo de propósito general para almacenar información sobre nombres de dominio. El artículo de Wikipedia sobre HSTS sugiere que esto podría usarse en el futuro para indicar el soporte de HTTPS. - " DANE " es un mecanismo que utiliza DNSSEC (la forma firmada de DNS) para comunicar información cifrada sobre un nombre de dominio. Por ejemplo, para decir "solo esta CA puede firmar mis certificados HTTPS". Esto se logra al colocar algo como este registro en su servidor DNS:
_443._tcp.www.example.com. IN TLSA (
0 0 1 d2abde240d7cd3ee6b4b28c54df034b9
7983a1d16e8a410e4561cb106618e971 )
Ahora esto le dice a cualquiera (a quién le importa preguntar) que una clave criptográfica específica está asociada de alguna manera con un servicio que se ejecuta en el puerto 443 en www.example.com.
Ahora un humano puede adivinar fácilmente: "De acuerdo, 443 probablemente será HTTPS" y luego se conectará con HTTPS en lugar de HTTP simple. Pero lo que no puede deducir de un registro DANE existente es que HTTPS es totalmente compatible con cada bit del sitio web. (Por ejemplo, HTTPS solo se puede usar para iniciar sesión en ese sitio y no funciona para el resto del sitio).
Pero AFAIK todavía no hay ningún mecanismo para comunicar "¡Use HTTPS!" a un navegador.