Cheap Thrills, Speed Kills…

I’m told I need to make some arguments to convince people that speed is not everything. I’ll attempt to do that here.

Should I even mention a time when almost all browsers were named after cars? No? OK, good… Let’s talk about cars then. When choosing a car do you typically go to the car dealer, and ask for the fastest car they have? That sounds like a great idea, I mean, you’re in a hurry, you have a need for speed, and you can’t drive 55, so you want the fastest engine they’ve got. It makes sense.

Now that you’ve got your really fast car, you might also wonder how safe it is. Will it protect you from harm? What if the locks don’t work, and it’s not very secure, and people can just open the doors, and rummage through all the stuff you leave in your car… your shopping receipts, the playlist on your iPod, you know, stuff you might think is sort of personal, and you’re not OK with sharing.

Apache / IIS

Many years ago (I know, I start a lot of stories like that) there was a sort of competition between web server software, and this competition often looked at the speed of which a server could serve pages. That made sense to a lot of people, because, you know, you want your pages served fast. The competitors were Microsoft IIS and Apache’s HTTP Server. In many speed tests, IIS was the winner. If you based everything on speed, IIS would have been the clear choice. Now, that would have meant you ran your web serving platform on Windows, because that’s the only place IIS ran. You also would have most likely restricted your code to ASP or maybe ColdFusion, but you probably would not have even considered PHP or Perl, or any of those “weird open source” languages. It sort of made sense that IIS would be really fast on Windows, as both products were developed by Microsoft, and if anyone could make then work together, and run fast, it would be Microsoft. I mean, I’m not suggesting that Microsoft would use undocumented API calls and what not in the development of IIS, right? Right. I’m sure the Apache Software Foundation wanted to put out a fast web server, but they were also very concerned with conforming to the standards and specifications published by the W3C and the IETF and other organizations that were working towards building the web, and they were also putting out web server software that ran on many different platforms, some of which I’d bet you may not have even heard of. There were also a number of great modules you could add to Apache to make it do great things. I worked with Apache and IIS, and I definitely preferred Apache.

Oh, did I mention Apache’s HTTP Server was also open source? While Microsoft could do whatever they wanted to with IIS, including kill it off at any point, or completely re-write it, or force you to pay exorbitant fees for it, Apache was open source. If you didn’t like where it was headed, you were free to take the code and do your own thing. Or hire someone to do it. Open source is like that… it sort of serves as an insurance policy for the future.

The Apache Software Foundation has been a non-profit organization since 1999, and I believe the web has flourished and grown in no small part because of that. I’m not saying that Microsoft IIS or lighttpd don’t have a place in the world, as they surely do, as do other choices, but I’m grateful for the work the Apache folks have done, as they’ve made it possible for myself and others to do so much over the years to help move the web to where it is today.

But I know.. you all want the fastest damn browser your money can buy… regardless of the other features which may matter today, or in the future.

See Also: Firefox, it’s not me… it’s you! and Mozilla Firefox vs. the World.


Website Tip #326

It still amazes me how many server admins fail to properly configure their web servers and dns so that works just as well as

On the other hand, there is a whole group of people who think that the ‘www’ is absolutely required, and even if you tell them to go to, they will go to, so make sure you set that up as well. It’s easy in Apache, just add a ServerAlias like so:


A simple fix, and hopefully it will help prevent having to explain to people that you don’t need to type the ‘www’ part, just let them do it, it’s easier to fix things on the server than in people’s brains.

(And if you can’t make this fix on your server yourself, ask whoever maintains your server to make it for you.)


Redirecting a POST to GET

Due to a DNS change and an uncontrollable form, I was asked to redirect a form from one URI to another. The first attempt was using a redirect in an htaccess file, which failed because the variables being sent via the POST were lost… What to do?

A quick little Perl script with less than 10 lines of code took care of things. We just capture the variables, and convert the POST to a GET and then redirect the browser to the correct location, properly passing all variables in the query string.

And since Apache doesn’t really care what extension is used, as long as it’s defined, you can create script.asp which is really written in Perl running on Linux to redirect to script.asp on another server running Windows and IIS.