----
4. On what factors ATS maintain its cache??
[If you worked on Varnish, which maintains it's cache on the basis of HOST + REQUEST_URI by default... i mean it generate hash values on these two factors... also provide flexibility to change that too.. how this is done by ATS.... and how to change that if required... like cache on that basis of HOST or URI or Protocol HTTP/HTTPS or Cookie or any header???]
----

ATS by default uses the full URL of the request. Each URL can have a small set of alternates which are considered to be equivalent content (e.g., a video stored in different resolutions). There is an API call to use a different string as a key, you can see an example in the cache_url plugin, which lets you match URLs with regular expressions and based on that change the cache key.