Running WorldWideWeb on NEXTSTEP 3.3

NeXT Computer, Inc. -> NEXTSTEP / OPENSTEP Software

Title: Running WorldWideWeb on NEXTSTEP 3.3
Post by: techdomi on March 05, 2022, 03:12:55 AM
First off, I want to thank all the people on this forum for their contributions and information you've so generously posted.

Thanks to you all, I'm posting this from an original 1990 NeXTStation Mono running NEXTStep 3.3 on a SCSI2SD v6, using OmniWeb and connected to my network! Without you, it would not have been possible to get this 30+ year-old machine running again. If anyone needs help doing the same, I'd be more then happy to help.

There is one remaining thing that I would like to do with this machine, but can't find instructions on how it can be done: run the original WorldWideWeb written by Tim Berners-Lee.

I am hoping to show some people that weren't even born when this machine was made how the Web looked like when it was first created.

I've tried to install the version of WorldWideWeb available in the NeXT File Archive here, and they run, but it doesn't seem to be functional... none of the menu items do anything.

My hope is to get it working to the state that it is in the emulator at worldwideweb.cern.ch/browser and I'm able to surf to the first website at http://info.cern.ch

Has anyone been able to install TBL's WorldWideWeb on an installation of NEXTSTEP 3.3? Are the other, more complete binaries out there?

Thanks, and I will write a guide if I figure it out.
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: crimsonRE on March 14, 2022, 11:14:39 AM
I'll try to make a note to myself to attempt running whatever I can find of TBL's software. I believe it came installed on my original '030 NeXT Computer, I'll have to look again.
I do remember, back in 1992, telnet'ing into cern.ch and using their CLI to look through the CERN server - that was what was available at the time for people without an actual NeXT computer....
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: crimsonRE on March 16, 2022, 11:33:29 AM
Haven't had the time to look at this as yet, but I now think the chances of the earliest versions actually connecting to a webserver to be nil - the earliest versions "speak" only HTTP version 0.9, whereas everything now uses HTTP ver. 2 (some will respond with 1.1) or 3. And the version of html used now is what, ver. 4 or 5? And who knows what would happen when the monstrous amount of JS gets thrown at the poor old thing...
Most likely what you would need to do is set an HTTP server from those days running as well, serving up a few hand-crafted web pages with simple HTML tags.
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: stepleton on March 16, 2022, 01:04:23 PM
QuoteHaven't had the time to look at this as yet, but I now think the chances of the earliest versions actually connecting to a webserver to be nil - the earliest versions "speak" only HTTP version 0.9

I still think there's a chance that plenty of webservers are likely to be gracious about your HTTP/0.9 request:

$ telnet google.com 80
Trying 142.250.200.14...
Connected to google.com.
Escape character is '^]'.
GET /
HTTP/1.0 200 OK
Date: Wed, 16 Mar 2022 18:01:17 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info."
Server: gws
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Set-Cookie: NID=511=MEPgl9jzDpL2F3sUW2IHORPOJMlrFxut-mpDym3lpTZ_rkpwP3BO34XUOQ5zv32s9oU-Lf-pyAzA1NUI5Bucd93bQGANzszfBGqzD5-dGcFb47uASaujF-sWfpo-rdA0YG__25za5ngxxAM0AWhkigSbosqWaGXvqwRvJR0pvkI; expires=Thu, 15-Sep-2022 18:01:17 GMT; path=/; domain=.google.com; HttpOnly
Accept-Ranges: none
Vary: Accept-Encoding

<!doctype html><html itemscope="...

(note that a proper HTTP/1.0 request would say `GET / HTTP/1.0`.)

What your old browser does with what it gets back is a different matter... since of course there are the HTTP headers in the response and so on.
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: crimsonRE on March 18, 2022, 05:40:18 PM
Hehehehe - yes, telnet into an HTTP server, shoulda thought of that myself. Used to diagnose email issues by telnet'ing into port 25... Thx!
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: crimsonRE on March 20, 2022, 01:06:38 PM
Well, I fired up WorldWideWeb.app version 0.17 on my '030 Next Computer (the original NeXT machine) running NS 3.3. As I suspected - no dice. I tried connecting to a half dozen websites that I often view with antique versions of Mosaic or Netscape, and all of them threw up an HTTP error: 400 Bad Request...
The sole exception was Google's home page - though that was unrecognizable, WWW.app just blatted the HTML and JS code into a window...
It will (mostly) display a simple web page that I created with KomPozer ver. 0.8 (Feb. 2010) on a Macintosh PPC MDD (itself a computer from 2003).

I would have to look at CERN's emulator again, been quite a while since I played with it. WWW.app is rather different than using any of the usual modern browsers, since it is an editor and browser in one.

So the version I have is <2.5MB. The folder contains the executable, the source (a NextStep Project),
and the object files (built July 1, 1993, 7 years before I bought this machine). I could gzip the files and email'em to you.
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: cuby on March 20, 2022, 01:50:28 PM
Did you try to use WRP, the web rendering proxy?

https://metalbabble.wordpress.com/2020/03/31/classic-mac-web-surfin-with-web-rendering-proxy-wrp/ (https://metalbabble.wordpress.com/2020/03/31/classic-mac-web-surfin-with-web-rendering-proxy-wrp/)
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: justme on March 20, 2022, 02:46:45 PM
or webone (https://github.com/atauenis/webone) which does something similar but also has a real proxy mode which might work with the later omniweb versions.
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: crimsonRE on March 21, 2022, 12:16:40 PM
Ummm - I was doing this experiment for the original poster....I don't really have too much interest in actually having TBL's original browser connecting to anything.
I actually do not, myself, own any modern machines for running one of those proxies. Using/playing with my (pretty large) collection of vintage machines more than fills the amount of time I can devote to computing. So long as the TenFourFox browser (running on my Power Mac/Powerbook machines) gives adequate access to to modern websites, I'm good.
Someday I'll pick up a laptop running some version of Linux or *BSD...

What I do need is to find someone who has successfully implemented
http://oldvcr.blogspot.com/2020/11/fun-with-crypto-ancienne-tls-for.html
on a NeXT (not an HP running NS 3.3)....then I/we could spend even more time with OmniWeb 2.7 on our NeXTs. I have successfully compiled 'carl' and have it connect to https but cannot compile 'microinetd', nor have I found the secret recipe to setting 'carl' up as a service within NS 3.3's own inetd services...
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: techdomi on March 23, 2022, 01:47:18 AM
Hi crimsonRE,

Thanks so much for trying that out. If you would be willing to share the executable that would be grand, I'll DM you my email address.

Did you by chance try http://info.cern.ch/ (I believe the first website) using WorldWideWeb? They seem to be keeping it in its original state.

The browser at https://worldwideweb.cern.ch/ appears to be 1.0, not sure what the differences are with 1.0, although it says in the help it's built on the libWWW library.
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: crimsonRE on March 26, 2022, 09:17:45 AM
Just tried it, Dom - looks like the server running on info.cern.ch only responds to http protocol ver. 1.1, because WWW.app gives the following error msg:
WWW Alert: HTTP server at info.cern.ch replied:
HTTP/1.1 404 Not Found
WWW Alert: Unable to access document.
WWW Alert: Redirection response from server is not handled by this client

In any case, I've sent the src/binary on its way to you. The version available on the nextcomputers.org archive is indeed a partial implementation - browser only, no editing. See the readme note from TBL about this 1.0 version on http://ftp.nice.ch in pub/next/connectivity/www
Also present there is the full working version 0.16 (WorldWideWeb.0.16.N.bs.tar.gz). Well, working as much as what was written in 1990...
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: crimsonRE on March 26, 2022, 02:19:54 PM
Quote from: cuby on March 20, 2022, 01:50:28 PMDid you try to use WRP, the web rendering proxy?

https://metalbabble.wordpress.com/2020/03/31/classic-mac-web-surfin-with-web-rendering-proxy-wrp/ (https://metalbabble.wordpress.com/2020/03/31/classic-mac-web-surfin-with-web-rendering-proxy-wrp/)

This, I believe, sends a clickable image of the original webpage to the proxied browser. Won't work for this early version of TBL's browser - it has no provisions for dealing with images...text still ruled the Internet at this time.
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: techdomi on April 20, 2022, 02:50:24 AM
A bit of an update: (partial) Success!

Thanks to some great help from crimsonRE, who pointed me to some better builds of WorldWideWeb 1.0 and 0.16 at https://ftp.nice.ch/pub/next/connectivity/www/ and did some initial trials of different websites.

The installed versions would load, but every time I tried to "Open given document address", nothing would happen. Eventually, I realized that it was sending error messages to the Console, but failing silently. There, I found the errors crimsonRE mentioned such as:

WWW Alert: Redirection response for server is not handled by this client
After a bit of digging, I suspected that this earliest of browsers could only handle HTTP "0.9" as originally defined by Tim Berners Lee (https://www.w3.org/Protocols/HTTP/AsImplemented.html). Anything additional such as headers, redirects, etc. would confuse the client, as they were not defined until HTTP 1.0.

I'd had some success with WebOne (https://github.com/atauenis/webone) before to handle HTTPS for older browsers, so I thought I'd give it a try. And in fact, when passed through this proxy (using http://<webone instance>:port/http://info.cern.ch, WWW doesn't support proxies) it worked!

Which is interesting, because the aim of that project was to restore the first website (https://first-website.web.cern.ch/first-website/). But because they are running it on Apache, the first web browser can no longer view the first web site. I think I might reach out to them to see if there is a way to simplify the responses so that WorldWideWeb can actually load those pages.

If not, I might try to figure out how to set up a "legacy" server locally so it can still be viewed. I'll also keep experimenting with WebOne to see which sites can still be loaded by it.
Title: Re: Running WorldWideWeb on NEXTSTEP 3.3
Post by: cuby on April 20, 2022, 03:49:19 AM
QuoteIf not, I might try to figure out how to set up a "legacy" server locally so it can still be viewed. I'll also keep experimenting with WebOne to see which sites can still be loaded by it.

The source for the original CERN httpd is still available: https://www.w3.org/Daemon/

One of the proxy solutions for accessing the web with old machines might also help:


Go to top  Forum index