Virtual Hosting, in general, is the practice of serving multiple web sites from a single
web server. One way to differentiate sites is by using the apparent host name of the request
instead of just the path name part of the URI. An ordinary Amazon S3 REST request specifies a
bucket using the first slash delimited component of the Request-URI path. Alternatively,
using Amazon S3 Virtual Hosting, you can address a bucket in a REST API call using the HTTP
Host
header. In practice, Amazon S3 interprets Host
as meaning that
most buckets are automatically accessible (for limited types of requests) at
http://bucketname
.s3.amazonaws.com. Furthermore, by naming your
bucket after your registered domain name and by making that name a DNS alias for Amazon S3, you
can completely customize the URL of your Amazon S3 resources, for example:
http://my.bucketname.com
/
Besides the attractiveness of customized URLs, a second benefit of virtual hosting is the
ability to publish to the 'root directory' of your bucket's virtual server. This can be
important because many existing applications search for files in this standard location. For
example, favicon.ico
, robots.txt
, crossdomain.xml
,
are all expected to be found at the root.