Tweak your Domino Web Configuration – All databases are available over any host name! And Google knows. Map URLs to certain hosts – easily!

Although Domino allows mapping of certain HTTP request patterns to a certain host names, the management of such mappings get more and more complex and difficult with increasing numbers of host names hosted on your IBM Domino server. Even a tiny mistake in that management may result in unreachable hosts. This management can eat up several hours of your daily work – thus it is often left out.

Lets see an example: You’re hosting two domains, www.yourcompany.com and www.yourcustomer.com. Both domains reside on the same Domino Server. You want to assure, the Website contents of www.yourcustomer.com is only reachable via its specific hostname, because you do not want to have their contents indexed under your hostname or under the IP-Address of your server by Google and other search engines. For accomplishing that, you turn on Internet Site usage in your Domino Server document, define the appropriate Internet Site documents and define a redirection document, acting on the pattern of the database name of your two databases. In fact your server is then redirecting any request from www.yourcustomer.com/yourcompany.nsf to www.yourcompany.com/yourcompany.nsf and any request from www.yourcompany.com/yourcustomer.nsf to www.yourcustomer.com/yourcustomer.nsf.

Easy way to solve that problem and Google and all other Search engines will never index a page from your companies website under the hostname of your customer and vice versa. That is absolutely right but only if it affects small numbers of hosts and domains. If you are running multiple hostnames and domains for multiple customers the work increases dramatically – you have to add a redirection rule for every single database-hostname dependency to every other hostname. Just imagine you have to do that for a Server with 50 hosted internet sites – you can then count 49 redirection documents for every hostname in all the other internet site configurations. Well, to be honest, that is probably still manageable if you have one day for only configuring those documents and testing your setup. But very soon reality will hit you – definitely! You will have to add another internet site because you won a new customer or one of them wants to have another subdomain. Then if you are at number 51, you will have to play the whole game again – and you will have 49 other customers being slightly unhappy with the possible time-outs when trying to reach their website being hosted on the same server…

Well, administrators life can be much easier – with HTTP Toolkit. You are able to assign request patterns to a hostname while not needing to do that for every single Internet Site. Additionally you are able to safely define some default rules to all your servers and Websites. Of course these rules may be overridden by special definitions for that site. That way the described task is very easy to accomplish.

HTTP Toolkit increases security and stability

Did you know, Hackers are sometimes attempting to load your server with senseless requests intended for IIS or Apache servers? What do you think happens to your server? In fact your server has to handle the request and has to create a response the requested resource is not available. But why burden your Domino with that answers. With HTTP Toolkit it is an easy exercise to take such requests and redirect them to somewhere else. That way, the CPU load of your Server decreases and availability therefore increases.

Map Content Types easily

You want your users to actually download a particular file rather than opening them in their browser? Did you know it is the content type that makes the difference between being able to download or opening a file? Well, in fact every content transmitted over HTTP has a content type attribute. A normal page is entitled to be “text/html” for instance. Other file types do have similar content types. Browsers try to handle such content types. In the case of a html file, the just render it, in the case of an image, they display it and in the case the just don’t know, they normally offer the option to store the file locally. And that is the reason why some users are able to store a Powerpoint file why others get it opened within their Browser: the difference between both users is – one has an application to open Powerpoints installed, the other not. So if you want to make a file being downloaded instead of possibly being opened, you have to change it content type, generated by the Server. Since Domino is extremely good in recognizing the correct content type and you are not able to change that recognition, there is normally no way to change the behavior of opening a file if the file handling application is installed. But with HTTP Toolkit you can! You may map a certain content type to a certain URL. Let’s look at another example: you configure HTTP Toolkit to watch for a Request pattern ending in “&download”. The configured action is to change the content type from whatever it is to a content type which is normally used for downloading a file: “binary/octet-stream”. If you managed to do that, you just need to assure, the file you want the user to surely download is offered to him with a link ending in “&download” for example:

www.mycompany.com/mycompany.nsf/id/pagename/$file/companypresentation.ppt?Open&download

This will make the Server change the content type and the user is being asked if he wants to store the file.

You want HTTP redirections? You think you already have them? Not so really.

HTTP redirections are a native part of the HTTP protocol and Domino is of course able to do that. Unfortunately this is not always possible. As an application developer you sometimes need a real http redirection but have to use JavaScript and/or-Tags instead. Where you are able to create a redirection upon a Document Save event, a WebQuerySave-Agent or in a direct agent call, you can’t do that with documents in read mode nor in WebQueryOpen Agents. So normally developers use-tags and/or JavaScript to accomplish the redirection. Unfortunately not all Browsers do support Meta tags or JavaScript. We have even seen firewalls filtering these elements from a page. So a user may get stuck on the place you intended him to move on. Of course you could then add a link to the new target – but this is additional traffic for the user, and very inconvenient to him. The correct way of accomplishing a redirection is the redirect method offered by the HTTP protocol – this way is by the way implemented into every browser. For that reason HTTP Toolkit offers an option to programmatically set the redirection header to a Servers response – extremely fast for the user and additionally quite safe and convenient. Besides all that, your pages get more accessible, since JavaScript and meta redirections are seen as being dirty and are normally not followed by search engines for example.

XHTML Generation

Wouldn’t it be nice to make Domino render XHTML? Well, in fact you can – with the HTTP Toolkit. Simply define a URL pattern to be rendered as XHTML and you are done.