Isso não é um comportamento padronizado, já que nenhum documento RFC diz como um cliente deve se comportar se o usuário não especificar o protocolo. Mas, provavelmente, na maioria das configurações padrão, os clientes tentam se conectar usando uma conexão não segura (por exemplo, http://
) primeiro. Eles apenas acham que você quis digitar http://
na frente de sua URL.
Nesse caso, não é o cliente que descobre que este site está disponível por meio de uma conexão segura (por exemplo, https://
), é o servidor da Web que redireciona a solicitação do seu cliente. Portanto, ao digitar google.com
na barra de endereços de seus navegadores, o navegador primeiro se conecta a http://google.com
e o servidor da Web em google.com
redireciona sua solicitação para https://google.com
. É por isso que você ainda acaba na versão https://
do google.
Você pode até tentar digitando manualmente http://google.com
na sua barra de endereço. O Google ainda redireciona você para https://google.com
. Mas esse não é o comportamento padrão da maioria dos softwares de servidores da Web, o Google precisou especificar manualmente um "redirecionamento de HTTPS" na configuração de seus servidores da Web.
Ainda assim, é possível que alguns clientes experimentem primeiro uma https://
-connection e só se conectem com http://
se isso falhar. Esse é um comportamento mais seguro e, embora provavelmente não seja o padrão na maioria dos casos, existe, por exemplo, HSTS que permite que os sites sinalizem como https://
, e alguns sites podem até ser pré-sinalizados no navegador . (Como @kicken apontou, obrigado!) Então há plugins de navegador (por exemplo, "HTTPS Everywhere" para o Firefox) que implementam este procedimento. Esses plug-ins vêm com listas de sites que oferecem https://
de conexões protegidas e, quando um usuário digita a URL de tal site com http://
ou sem protocolo na frente, o usuário é redirecionado para a versão https://
por o navegador, não pelo servidor da Web, mesmo que o administrador do site não tenha configurado um redirecionamento de HTTPS para o site.