Frontier 9.0: Virtual Domain Hosting

Virtual Domain Hosting is a common feature of modern webservers. Here’s how it works: When a web browser requests a page from the server, the request includes a header which specifies the domain name the page is being requested from.

Since the browser sends the domain along with the request, it’s possible to serve different content, based on what domain name the request is directed to. In short, one webserver can serve many different sites, even though all of the sites are served on the same IP address, over the same physical connection to the Internet, and using the same server software.

Frontier’s web server has supported virtual domains since 1998. With the addition of the site-tree feature in the summer of 2000, server managers were given huge flexibility — as long as they were willing to edit XML inside Frontier’s object database: Any URL within a given domain can be served from anywhere in the filesystem or Frontier’s object database.

In Frontier 9.0, there’s a new, easy-to-use browser-based interface for configuring domains. You can put any site anywhere you want to, by typing its domain name, sub-path, and the object or folder to serve.

It’s the “what to serve” part that’s really interesting. For most webservers, you’ll supply the path to a directory of files on the server — that’s your only option unless you’ve installed and configured modules that serve content from an external database.

In Frontier, you can specify an address in Frontier’s built-in object database, to serve web content directly from the database. This fact won’t be news to Frontier server managers, but what is new is that it’s easy to configure with only rudimentary knowledge of how Frontier works.

After the form for entering new mappings is a list of domains on the server and the sites they contain. You can un-map any site by checking the box next to it, and clicking the Delete button at the bottom of the page. Sites which are mapped to an object which cannot be found are displayed with a pink background, which makes it easy to find and remove faulty mappings.

In addition, there’s a new feature in Frontier 9.0 for configuring redirects. Say you want to map to redirect all requests to It’s easy — just type the URL to redirect to into the Object field (“what to serve”), and requests at that sub-url will be redirected automatically.

Tomorrow’s screenshots: Software Updates