Reply 40 of 56, by thp
About TLS: If you self-host/have control over the HTTP server config, you usually redirect HTTP to HTTPS for modern browsers there. I configured my web server to check the user-agent and if the user agent looks like one of the browsers on my retro machines I just skip the HTTPS redirect. In general, user-agent sniffing is frowned upon, but in this case it works, and since the redirect is done at the HTTP request/response level, you don’t have much other info to go by.
So a modern browser accesses my web page via http - https redirect active, browser gets TLS (would need to be combined with HSTS if you want to avoid TLS Stripping, which would be fine, as older browsers don’t understand HSTS anyway).
But when one of my known retro browsers accesses the website, it just skips the https redirect, and it uses unencrypted HTTP.
You can try it at http://thp.io - downside is that external links might still require https.
As for HTML, since it’s mostly quirks mode, what worked for me is to write straightforward modern (but simple) HTML and then test, test, test and adapt with older browsers, and add graceful degradation.
Oh, and don’t forget text mode browsers. It‘s nice to use w3m every once in a while and see how far you can get. Will also indirectly help to make it a bit more accessible to people with screen readers.