My understanding of output caching is that a full page is rendered and available at the application server to send to any clients that may request that particular page. So if you have 5,000 different client requests, each receives the cached page on the server, instead of 5,000 independent connections to the database to retrieve the same exact information. Another way of looking at this is that the application server, upon an initial visit, connects to the database once, gets the data, renders the pager, and stores it for a period of time to send to any client that requests it. It's awesomely efficient, really.
My question is what happens if the connection to the database requires authentication? In this case, to authenticate each of the 5,000 users, must a new connection be opened to verify the user before the caching can be taken advantage of. I hope not, but how does the application know whether or not to share the rendered page with an unauthenticated user?
View Complete Post