Skip to content

Products -->-->
Discontinued

PageXchanger FAQ



Why do I want clean URLs (without file extensions)?

PageXchanger allows you to build for the future, not the past.

There are a variety of reasons for clean URLs (Uniform Resource Locators). Basically, URLs or, more appropriately, URIs (Uniform Resource Identifiers) are the interface or control for your site and its contents -- they request files or initiate an action. URLs should be well-documented, elegant, and optimally permanent. Users bookmark, link to, or type in URLs to reach your site. If you value their interest and business, you should make URLs well defined, intuitive, and lasting.

Users don't care and shouldn't know how you implement your site -- they are there for the content or to make a purchase. The major benefits of cleaning your URLs with PageXchanger are:

  • The ability to change things. Without PageXchanger, even moving from .cfm to .asp is a major undertaking requiring meticulous redirects or, in the worst case, forcing users to suffer 404 errors. The same applies for any URL, not just a dynamic one.

  • Giving them what they want, transparently. Serve content based on user browser capabilities like language-specific pages and alternate representations of images. Learn more.

  • Security, plain and simple. URLs leak information about your site's underlying technology platform. Potential hackers will try to guess your site technology from URLs and extensions in your source code (Use "View Source" in any modern browser to see what you are exposing on a page), so you should obscure such information if you can.

This is just the tip of the iceberg. Clean URIs have significant benefits, few problems and numerous articles have been written about their merits. Check out this article from The World Wide Web Consortium (W3C) or Zeldman's musings on the subject.

back to top


Do I have to save my files without file extensions?

No, the files themselves will continue to have their extensions, but the links to them in the source code will not.

For example, HTML like

<a href="product1.html">product 1 specifications</a>

would be changed to

<a href="product1">product 1 specifications</a>

but the file name product1.html would continue to exist in the directory as is.

Similarly, <img src="logo.gif"> would just become <img src="logo">.

Removing file extensions from source code gives you the full benefits of clean URLs. This is easily performed in common HTML editors like HomeSite or Dreamweaver (or try our w3compiler client desktop tool).

back to top


Do clean URLs work in all browsers?

Yes. File extensions are not as important as they seem. The MIME type indicates what is coming back from a server, not the file extension. This is why you can ask for a file like homepage.asp and yet it appears to be an HTML file to your browser. In short, since PageXchanger hands out MIME types properly, it works with even very old Web browsers (though some pre-1995 browsers may not work). PageXchanger has been thoroughly tested with the major browser types currently used today, and this IIS server module works with browsers from Microsoft, Netscape, Mozilla and more.

back to top


Is there a downside to not having extensions in my pages?

There is only one obvious challenge: offline browsing. Pages without file extensions are no different from .asp pages or other files and are difficult to browse offline. If you do not have extensions, you cannot traverse a Web site directly from the file system. In other words, if a user tries to browse files they have saved locally on their computer, they would not be able to follow links or load images unless their offline browser is smart enough to reattach image and file extensions appropriately. This isn't really a penalty per se unless you are worried about having a full offline copy for reading when your users are disconnected from the Internet. Some offline readers, notably Teleport, should be able to mirror sites and fix any extension problems with standard HTML pages.

back to top


Can people still guess my exact file names?

They can try. However, if you have the "hide extensions" option checked, the user will be automatically redirected to a cleaned URL regardless of their extension guess. With PageXchanger, they will never be quite sure if they guessed correctly.

back to top


Is there anything I need to worry about with file names?

Not really, but your file names should be unique. The general best practice in Web development is to have unique names for all files in your Web site. If you use unique names, PageXchanger will work flawlessly. However, if you have many file types with the same name (such as homepage.html, homepage.gif, homepage.css, homepage.js, and so on), you could potentially run into problems. The server-side negotiation rules should take care of this ambiguity, but there is room for some error. Please review your file naming conventions prior to deploying PageXchanger.

back to top


Can I clean my query strings and make my dynamic URLs more search engine friendly?

PageXchanger will not clean URL query strings (essentially, full URL cleaning involves also removing elements from the query string like ? or = characters). Completely cleaning URL query strings is not nearly as automatic and requires some thought as to what rules and transformations should be applied to URLs. There are other commercial tools on the market that will accomplish this task with some rules generation effort: Google for "url rewrite".

More to come on this technology from Port80 Software in the future...

back to top


Isn't this just Apache's mod_rewrite for Microsoft IIS?

No. Mod_rewrite is a URL rewriting mechanism for the Apache Web server that cleans query strings and executes arbitrary rewrites. This mod can be extremely complex to configure and maintain. There are also similar generalized URL rewriting tools for IIS based on mod_rewrite, but these tools require you to write and maintain complex rule sets.

On the other side, PageXchanger is designed for IIS and focuses on automating clean URLs and content negotiation. PageXchanger requires little configuration to achieve substantial benefits out of the box. Bottom line, if security, migration, and content negotiation are your aims on an IIS Web server, PageXchanger is the only solution on the market.

back to top


How does content negotiation work?

Content negotiation looks at the accept headers sent by a browser to determine what content is preferred and what isn't. For example, consider the accept headers here sent by Mozilla 1.0 (a Web browser):

accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, video/x-mng, image/png, image/jpeg, image/gif; q=0.2,text/css, */* ;q=0.1

In this situation, the browser prefers xml or xhtml over plain html or plain text. You can also see the browser supports png images and a variety of other content items.

Compare this to the headers sent by Internet Explorer 6:

accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

This browser does not explicitly support PNG or xml, thus we might not send it such data, but it does indicate other data formats. Combining the accept headers of a browser as well as server-side content rules, we can accurately provide content to browsers that is appropriate to their request. This is a well known concept promoted by standards bodies such as The World Wide Web Consortium (W3C).

back to top


What can I do with content negotiation?

One of the most interesting things you can do is provide alternative representations of the same content. For example, PNG images are not commonly used on the Web because they are not supported by all browsers. With PageXchanger, you can migrate to PNGs easily. Consider a company logo you might have, you could save logo.gif and logo.png. Then you would use HTML like <img src="logo">, and let PageXchanger serve up the appropriate version of the logo to users. PNG capable browsers would get the PNG and other browsers would get the GIF version as normal. This idea works with other image formats and other technologies such as XHTML and even client-side XML languages.

back to top


How does the language negotiation work?

Examining the language header sent by a browser, PageXchanger can fetch pages for different languages. For example, you can have Spanish and English versions of the same page, and PageXchanger will send a version configured for the language specified by the user's browser.

back to top


Won't all this negotiation effort slow my server down?

In a very minor way, but the effect is negligible. A Web server with PageXchanger installed chooses pages a little more carefully, but since the product is implemented as a thin ISAPI filter, it is quite fast and has a low impact to server performance. If you are using a product like httpZip in conjunction with PageXchanger, you will have a significantly faster site (due to compression) and can enjoy improved, clean URLs at the same time.

If you have read this far and are this interested in the httpZip/PageXchanger combo, purchase PageXchanger and contact us for at least 10% off your purchase of httpZip. Using httpZip will assure that any performance costs from PageXchanger will be alleviated.

back to top


Won't clean URLs break my site in search engines?

No. In fact, well designed search engines will transmit appropriate headers and receive content just fine. Research on Google.com indicates their search bot will have no issues categorizing sites that use PageXchanger (like this site you are reading now!). However, it is possible that a poorly written search engine relying on file extensions may not be captured and catalogued. Given the fact that 99% of all traffic is generated from the top five search engines, you will be just fine using PageXchanger.

back to top


It sounds neat, but how come I don't see content negotiation used online?

Good question. First, there are few tools to do it. On Apache, you do have modules such as mod_negotiate, but even there things are tricky. Secondly, many developers just don't know about it. There are a few sites using a version of the technology currently, though they have developed a custom in-house solution. For example, The World Wide Web Consortium (W3C) site relies on the ideas PageXchanger uses quite extensively and many specifications such as RFC2295 have been written concerning this technology.

back to top


Why should I adopt content negotiation now instead of waiting to see if others do it?

Another good question. The answer is you gain nothing by keeping your file extensions. File extensions expose your site's and Web server's technology implementation. This is both a security risk, reduces site portability, flexibility, and adaptability. Not showing extensions like .asp makes it possible to move to .aspx or whatever you like in the future cleanly without disrupting bookmarks and other inbound links. In programming, this type of implementation or data hiding technique is the key to modern design.

PageXchanger allows you to build for the future, not the past. If this isn't enough rationale, consider simply that clean URLs are easy to type and remember.

back to top


Does PageXchanger work with your other products?

Yes, it does. A good bundle focused on security is using PageXchanger in combination with ServerMask to help anonymize your server. If you are concerned about hackers and want to address network sniffing identification, you can fairly confidently anonymize your IIS server from all the most aggressive probes.

If you are concerned about overhead and server performance issues due to content negotiation, use httpZip or CacheRight -- you should come out ahead in server capacity and delivery as well as enjoy new features.

All Port80 Software products are designed for interoperability and have been tested for third party application and server side scripting environments.

back to top


Port80 Software stands behind our products 100%. Given the nature of Web server utilities, various environments and third party applications may cause new and unforeseen conflicts. Therefore, Port80 pledges to work with you to ensure our products run in all testing and production environments - if you work with us, we will work with you to make your IIS Web server safer, faster and friendlier.