ASP.NET MVC には OutputCache 属性が用意されているので、多少は Cache-Control ヘッダを弄ることが出来ます。 [OutputCache(Location = OutputCacheLocation.None, NoStore = true)] public ActionResult Index() { return View(); } しかし、OutputCache 属性では no-cache と no-store しか出力されないので、ブラウザの戻るなどを使った場合にはキャッシュ済みのページが表示されてしまいます。 この挙動はログイン・ログアウト周りで割と困ります。なので、クライアント側でキャッシュさせないための属性を作りました。 public class NoClientCacheAttribute : ActionFilterAttribute {