Este no es un comportamiento estandarizado, ya que ningún documento RFC dice cómo debe comportarse un cliente si el usuario no especifica el protocolo. Pero probablemente, en la mayoría de las configuraciones predeterminadas, los clientes intentan conectarse utilizando una conexión no segura (por ejemplo, http://
) primero. Sólo suponen que querías escribir http://
delante de tu URL.
En ese caso, no es el cliente quien se da cuenta de que este sitio está disponible a través de una conexión segura (por ejemplo, https://
), es el servidor web que redirige la solicitud de su cliente. Entonces, al escribir google.com
en la barra de direcciones de su navegador, su navegador primero se conecta a http://google.com
, y el servidor web en google.com
redirige su solicitud a https://google.com
. Es por eso que todavía terminas en el https://
versión de google.
Incluso puedes intentar esto manualmente escribiendo http://google.com
en su barra de direcciones. Google todavía te redirige a https://google.com
. Pero este no es el comportamiento predeterminado de la mayoría del software de servidor web que existe, Google tuvo que especificar manualmente un "redireccionamiento HTTPS" en la configuración de sus servidores web.
Aún así, es posible, que algunos clientes prueben un https://
-conexión primero, y solo conectar por http://
si eso falla Ese es un comportamiento más seguro, y aunque probablemente no sea el predeterminado en la mayoría de los casos, existe, p. Ej. HSTS que permite a los sitios marcarse como https://
, y algunos sitios pueden incluso estar marcados previamente en el navegador. (Como @kicken señaló, ¡gracias!) Luego hay complementos de navegador (por ejemplo, "HTTPS Everywhere" para Firefox) que implementan este procedimiento. Esos complementos vienen con listas de sitios que ofrecen https://
conexiones seguras, y cuando un usuario ingresa la URL de dicho sitio con http://
o sin ningún protocolo en la parte frontal, el usuario se redirige al https://
Versión del navegador, no del servidor web, incluso si el administrador del sitio web no configuró una redirección de HTTPS para su sitio.
curl -I -L google.com
En la línea de comandos y ver el flujo de redirecciones.