Q:

Is the output cache on an Asp. Net page limited to session per user? 

Just wondering If I set a page up to use the cache for 30 seconds is this only served to the same user that accessed the page first time round or is it configurable? 

A:

You can cache on a per-user basis, but generally the ApplicationCache is best used for - you guessed it - application-wide data.  E.g. the contents of an autosuggest list could be cached to avoid reading it from the DB for every request. 
Output caching is similar and you can set the duration, etc.  in Page directives. 
It's a potentially big topic, but I'd take a look here to start off.