Mac Web Browsers from the 90s and HTML/0.9

Here I was thinking I had an 11 minute voiceover but I misread the timeline. I’ll never use a script, I’m too lazy. Enjoy my half completed thoughts in the above. You’ll work it out. My biggest issue was HTML/0.9 being interpreted as HTML/1.0 since 0.9 doesn’t announce itself or something along those lines. The following issues we encountered are in no particular order – it adds to the fun! 😉

Let’s start with the innocent NCSA Mosaic. At this stage we were running on a Macintosh Classic. The splash screen works well.

We even made it to the RetroJunkie homepage!

Like anything running way beyond what it was designed for, it crashed a good amount. Of course there’s no memory protection so Mac OS went down with it forcing a slow restart.

We ruled out Mosaic due to the crashes and really dated HTML support. Next up we had MacWeb by Tradewave. And can I say, it actually worked OK for our purposes. There is a patched version, 2.0c, that has some tweaks for black and white Macs even. Unfortunately, I picked the French localisation.

Forbidden address. Ahhh yes. I believe this was caused by Cloudflare doing something… what exactly – I can’t remember! But I was able to get it by accessing or the IP was hosted at. It’s the catch-all site in case anyone strays to my server’s IP address.

So I resorted to telnet (which is very old-internet friendly it turns out). Performing a simple “GET /” at my server’s IP resulted in… a bad request… with a sprinkling of Cloudflare – which was supposed to be disabled. I messed with the proxy settings a bit more, possibly disabling Cloudflare completely for testing and…

Telnet successfully gets the root! By this point I’d opted to mess with the GeoCities subdomain. Now what about a web browser?

One IP address, one resolved website. That means these would now load on older browsers.

I only had Netscape 1.0 on hand in Windows via the MiSTer and a dial-up modem… as one does. But the IP address now resolves. Let’s test with the domain name…

And it works a charm.

Well close enough to a charm. Especially given “charset-UTF-8” wasn’t yet the rage and ISO-8859-1 would rule supreme for a while longer.

sudo tail -f /var/log/apache2/access.log

Tailing the Apache2 access log shows us:

MacWeb/F2.0 uses libwww/2.17 – There’s that F for French again…

MacMosaicB6 uses libwww2.09 – MacMosaicB6 is any pre-2.0 version. In our case 1.0.3.

And our Windows Mozilla 1.0, unsurprisingly perhaps, uses Mozilla/1.0 (Windows).

What’s perhaps most interesting to me in all the above examples, Apache is only seeing GET from HTML/1.0. There’s no GET from HTML/0.9 because it wasn’t versioned. My poor little Apache2 web server has no idea what HTML version is knocking so it just says 1.0.

Here’s some of the pages I followed to get this to work, a big thanks to each of the authors!

Creative Commons License Netscape Internet Explorer ICQ Powered by Debian! Tor - Anonymity Online mIRC for all! Do Only Good Everyday!

Established February 2012 and was last updated 21st of September 2023. You are visitor number Counter since sometime in the mid-1990s. We are powered by a Raspberry Pi.