Summary
We have looked at the forces that push us towards modifying query strings to make them more appealing. Both user and search engine "friendliness" are important factors. In order to achieve search engine friendliness, it is also important to consider when the response to a request for a page should be some kind of error code. There are other issues that must not be neglected, particularly to do with page titles and metadata. Interesting possibilities open up when query strings are abandoned, and URIs deliberately designed, with flexible decoding techniques applied when they are received.
The mechanics of URI transformation have been discussed. Although they become very complex, it is possible to build a mechanism that uses the database to store the results and to decode the transformed URIs back into query strings. Optimization through the careful design of tables and the use of cache has been considered. A simple yet powerful mechanism for handling arbitrary URIs has been described...