How to make an AWS S3 bucket accessible over HTTP?
Download - yes. Simply set each Object ACL to be publicly readable.

List - sort of. If you set the Bucket ACL to publicly readable anyone can list the content. However it's a rather human-unfriendly XML listing.
You can generate your directory listings to some index.html files through an external process and configure the bucket to serve those.

Basic auth - nope. You can look at something like S3 pre-signed URLs to protect the content.


Hope that helps :)