Https è un protocollo. Ciò significa che entrambe le parti devono essere d'accordo. Anche solo questo renderebbe le cose un po 'strane - cosa farebbe il browser, provare a connettersi tramite https, quindi se fallisce, ricorrere a http e memorizzare la decisione per un po' di tempo? Se qualcosa sul tuo sito cambia, come lo comunichi al browser per farlo aggiornare la sua cache? C'è una serie di aspetti pratici che dovrebbero essere elaborati per far sì che ciò accada realmente nel mondo reale, e non lo sono ancora.
Oltre a ciò, non tutti i siti che accettano una connessione https funzionano effettivamente su https. Come semplice esempio, il sito web del New York Times è in ascolto sulla porta 443, ma se si modifica l'URL per un articolo da https, verrà semplicemente reindirizzato. Se il browser ha fatto il proprio reindirizzamento https automaticamente, questo potrebbe facilmente metterti in un ciclo di reindirizzamento infinito; per lo meno, ti aspetteresti attraverso due richieste http per ogni pagina invece di una sola.
Di solito c'è più lavoro da fare per rendere un sito web https-disponibile piuttosto che impostare un terminatore https (anche se può essere un po 'di lavoro, dato che è necessario caricarlo per assicurarsi che possa gestire l'intero traffico - Una volta ha rotto un sito web precedentemente scalabile saltando questo passaggio ). Uno dei maggiori problemi è assicurarsi che tutto il contenuto che incorpori in una pagina sia richiesto anche tramite https, altrimenti riceverai avvisi di contenuto misti e l'utente vedrà solo una pagina rotta. Questo può essere particolarmente fastidioso da fare se si dispone di contenuti generati dagli utenti, perché ora è necessario eseguire alcune operazioni di modifica dei database per sistemare le cose che sono state aggiunte e fare molta attenzione per assicurarsi di non rovinare qualcosa mentre facendo questo. E ora devi usare https sul tuo CDN, e alcuni ancora non lo supportano facilmente, o forse devi aggiornare il tuo piano per poter usare un certificato personalizzato (dato che hai un CNAME dal tuo dominio al loro server). E ora che interrompe alcuni script che hai, perché sono scritti in python 2.6, e che non ha il supporto SNI.
L'elenco potrebbe continuare. Il punto è che c'è in realtà una quantità di lavoro non insignificante per molti siti Web per passare completamente a https e, se un browser tenta di forzarli tutti in una volta, ci saranno quasi certamente delle cose rotte. E questo fa schifo agli utenti.