Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

pudge (1)

pudge
  (email not shown publicly)
http://pudge.net/
AOL IM: Crimethnk (Add Buddy, Send Message)

I run this joint, see?

Journal of pudge (1)

Monday August 20, 2001
06:02 PM

//slashdot.org

[ #680 ]

In Slash 2, we changed the "rootdir" variable from "http://slashdot.org" to "//slashdot.org". This variable is appended to the front of links on the site. We still wanted to have the hostname in the paths, and we also wanted to have it work with HTTPS (we have plans to perhaps allow some access to Slashdot over HTTPS; this syntax provides for URIs relative to the protocol).

Yes, we could eschew having the hostname, so rootdir could just be "". Or we could forgo HTTPS, and use the "http://slashdot.org". But we wanted it this way, because it gives us everything we want.

So what's the problem? A lot of people don't realize this syntax is perfectly legal under RFC 2396 (see Appendix C.1). Or they just don't care if it is legal, but just get mad because on some clients it is broken. Well, in most clients it works (Netscape, Mozilla, IE, Opera, iCab, lynx, links, Konqueror [2.0 and up]; one is pressed to think of those that don't work, but there are some). For those that don't, those clients are *broken*.

So we get (som of them nasty) messages from people about how this is a bug in Slash and how we shouldn't use malformed URLs. It isn't, and we're not. Your client is broken. Fix it. Someone said w3m doesn't handle the links properly. I wouldn't know; I couldn't get it to compile on Red Hat last I tried. :-/

We could change to a different link syntax so it works on all clients. But again, we want it this way. And further, Slashdot is a very popular site, and hopefully clients will be forced to be compliant because of that.

If not, well, sucks to be them. :-)