Why are host names used to virtualize websites, rather than cookies, request paths, or query strings?
Most systems use one of the following methods to provide a “virtual view” of a website: • Cookies Issues: • All windows share the same set of cookies, so you can’t have multiple views active at the same time. • It’s easy to clear a cookie cache accidentally • There’s no easy way to send a URL plus its associated cookie to another person (e.g.: via email). • Request path mangling Issues: • Complicated by the need to use proxies • Security/DoS issues in need to cache POST bodies to handle redirects • Requires custom plugins to handle internal subrequests (e.g.: server side includes)
• Extra QUERY_STRING arguments Issues: • Integrates badly with 3rd party applications • Requires taking special action to create “bookmarkable” virtual link • Namespace pollution of application-level POST/GET arguments. Instead, Alfresco encodes the information required for virtualization within a “virtual hostname”.