Misverstand over "Alleen-HTTPS-modus"
Als u in uw browser de "Alleen-HTTPS-modus" aanzet (mits beschikbaar), dan kunt u 
nog steeds gebruik maken van 
http:// verbindingen. Wel moet u dat dan "elke keer" handmatig goedkeuren.
Ik heb hierboven "elke keer" tussen dubbele aanhalingstekens gezet, want nadat u éénmalig toestemming hebt verleend voor een webserver (voor bijvoorbeeld 
http://http.badssl.com of 
http://gemeente.amsterdam, uw thuisrouter of een ander IoT apparaat aan uw lokale netwerk), blijft die toestemming in elk geval gelden zolang u de browser niet helemaal afsluit (hoe dit precies werkt kan afhangen van de gebruikte browser).
Met "Alleen-HTTPS-modus" UITgeschakeld (default)
Als u in de adresbalk van uw browser bijvoorbeeld 
ing.nl intikt (of op de link 
http://ing.nl klikt, 
proberen de meeste moderne browsers eerst 
https://ing.nl. En als dat lukt, blijft de browser 
https:// gebruiken.
Opmerking: hier kan ook een 
ander mechanisme ingrijpen, namelijk HSTS - maar dát werkt niet in alle gevallen, bijvoorbeeld:
• Als u een private browser tab gebruikt (dit hoeft niet voor alle browsers te gelden);
• Als u de website voor het eerst bezoekt met uw huidige browser (of meer dan 1/2 of 1 jaar niet bezocht hebt);
• De website HSTS niet of niet goed ondersteunt.
Uitleg over HSTS gaf ik eerder in "
Steekproef: overheid + HSTS" 
https://security.nl/posting/802243.
 Dat eerst (ongevraagd) 
https:// geprobeerd wordt, is een verbetering t.o.v. "vroeger", toen browsers (in de beschreven situatie, bijv. 
http://ing.nl) "gewoon http deden" en er pas van 
https:// gebruik gemaakt werd 
indien en nadat de server de browser doorstuurde naar dezelfde (of een andere) server via een 
https:// verbinding (zoals 
https://www.ing.nl).
De verbetering bestaat eruit dat dit 
passief "afuisteren" en eventueel 
passief kapen van de verbinding, tijdens het opzetten daarvan, voorkómt. En bij héél stomme servers (die wel 
https:// ondersteunen maar de browser daar niet automatisch naar doorsturen) voorkómt dit dat derden kunnen afluisteren en wijzigen.
Echter: dit is 
zinloos bij een 
actieve AitM. En die AitM hoeft niet eens "
in uw netwerk" (*) te zitten: een gespooft (vervalst) DNS-antwoord volstaat.
(*) Denk aan een vals access point bij publieke WiFi, of het netwerk van een hotel of bedrijf (waar u op bezoek bent) waar kwaadwillenden toegang tot hebben.
Demonstratie (Windows)Hiermee simuleren we een DNS-aanval. Dat is veel lastiger voor aanvallers als u bijv. DoH (DNS over Https) gebruikt, maar dan zijn, op onveilige netwerken, nog steeds AitM-aanvallen mogelijk; het effect daarvan is zeer vergelijkbaar (uw browser komt op een andere site uit, 
met https, die als twee druppels water op de echte site 
kan lijken).
In dit voorbeeld gebruik ik 
almere.nl, een website die (ondanks wetgeving van medio vorig jaar) in elk geval HSTS nog steeds niet juist geconfigureerd heeft (zie 
https://internet.nl/site/almere.nl/2770195/). Dit om te voorkómen dat HSTS mijn tests in de war schopt.
1) Start uw browser.
2) Stel vast dat "altijd HTTPS" o.i.d. in uw browser 
nog niet aan staat door 
http://http.badssl.com te openen. Als er een rode pagina met in witte letters "http.badssl.com" verschijnt, accepteert uw browser, zonder vragen, http-verbindingen.
3) Voeg toe aan het bestand
C:\Windows\System32\Drivers\hosts :
Nb. dat IP-adres is van 
www.security.nl. Het handige van deze website is dat deze aan https-verzoeken meegegeven domeinnamen negeert.
Opmerking: zo'n regel in de hosts file heeft geen effect op subdomeinnamen (zoals 
www.almere.nl).
4) Tik in de adresbalk van uw browser: 
almere.nl en druk op Enter. Als ik dat doe verschijnt de home-pagina van 
https://www.security.nl/ - zonder ook maar één enkele foutmelding.
Indien mijn browser zou zijn doorgestuurd naar bijvoorbeeld 
https://www-almere.nl, of naar 
https://almere.nu, en de getoonde pagina had als twee druppels water op die van 
https://almere.nl geleken, had ik 
heel goed naar de adresbalk moeten kijken om dat op te merken (ik weet zeker dat heel veel mensen in dit soort trucs trappen).
5) Vergeet na afloop niet om de aan de hosts file toegevoegde regel te verwijderen.
Met "Alleen-HTTPS-modus" INgeschakeld
Of ik "Alleen-HTTPS-modus" kon aanzetten heb ik getest bij de volgende browsers:
Android:
- Firefox: ja
- Firefox Focus: ja
- Firefox Nightly: ja
- Chrome: ja
iOS/iPadOS:
- Chrome: ja
- Safari: 
nee- Firefox: 
nee- Edge: 
neeWindows (alleen 10 getest):
- Firefox: ja
- Edge: ja - na veel uitzoekwerk (zie onder)
Als "Alleen-HTTPS-modus" aan staat, krijg ik altijd een melding uit de betreffende browser zelf als ik 
http://http.badssl.com (of bijv. 
http://gemeente.amsterdam) open. In alle gevallen kan ik 
zelf kiezen of ik door wil gaan via het onveilige http.
TIP: in veel gevallen ondersteunt de 
uiteindelijke website 
wel https, maar een "jump site" daarvoor niet. Destijds was dat ook het geval bij 
http://werk.nl (die geen https ondersteunde) maar de browser wél doorstuurde naar 
https://www.werk.nl. Als u een "geen https" foutmelding krijgt op bijvoorbeeld 
example.com kunt u proberen of 
www.example.com wél https ondersteunt ("example" is hier een voorbeeld).
Windows Edge: "Alleen-HTTPS-modus" INschakelen
Microsoft heeft, in al haar "wijsheid", de instelling "Alleen-HTTPS-modus" verwijderd uit de settings van Edge.
U kunt dit aanzetten door handmatig het register te editten, of door het volgende tekstbestand te maken en op te slaan onder bijv. de bestandsnaam 
EdgeForceHttps.reg, en daarop te dubbel-klikken (geen admin-rechten nodig, en dit geldt alleen voor de 
nu ingelogde gebruiker):
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge]
"AutomaticHttpsDefault"=dword:00000002
 Als u "veilige DNS" (secure DNS) gebruikte, wordt dat hierdoor uitgeschakeld!
Dat kan, ongetwijfeld, ook wel weer met een policy (c.q. de daaruit resulterende registerwaarde) worden gecorrigeerd, maar dat heb ik niet verder uitgezocht.
LET OP: Tijdens mijn experimenten met de "demo" middels de hosts-truc reproduceerden wijzigingen soms niet. Kennelijk had Egde 
gecached dat 
almere.nl de inhoud van 
www.security.nl bevatte. Het wissen van alle browsergeschiedenis loste dit probleem op (mocht u zelf aan het experimenteren slaan, verwijder dan regelmatig de browser history).
Desgewenst kunt u de instelling weer verwijderen door regedit te starten, de sleutel (links) "HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge" te openen, en rechts de waarde-naam "AutomaticHttpsDefault" geheel te verwijderen (door de .reg file opnieuw te draaien wordt deze hersteld). Na dit soort wijzigingen in het register moet u Edge geheel sluiten (alle eventuele vensters) en opnieuw starten.
Waarom "Alleen-HTTPS-modus" INschakelen helpt
In links genoemd of getoond op TV, in kranten en in tijdschriften, word het voorvoegsel 
https:// in bijna alle gevallen 
weggelaten - en ik ken maar weinig mensen die dat er 
zelf vóór typen in de adresbalk van hun browser. 
Maar ook bij links in e-mails, in SMS-berichten, in QR-codes en zelfs in webpagina's kan het voorvoegsel zijn weggelaten, of staat er glashard 
http:// voor - terwijl de gelinkte website gewoon 
https:// ondersteunt.
Ook als het risico hierdoor 
meestal klein is, vind ik dit zonde. Ik werk al tijden met "HTTPS-Only" en ondervind zelden onverwachte problemen (en als die er zijn, is dat voor mij vaak reden voor extra onderzoek :-)
Gewoon aanzetten dus, is mijn advies. En klaag bij de eigenaar als diens website niet veilig geconfigureerd is;  op de eerste plaats is dat in 
uw belang!