Fortinet black logo

Administration Guide

What can be cached?

What can be cached?

Caching generally works best with data that doesn't change. Things like static web pages, images, movies, and music all typically work well.

When content changes often, caching provides overhead by consuming RAM without its usual benefit of reduced latency. Some HTTP headers and other factors indicate dynamic content which FortiWeb will not cache.

FortiWeb will not cache responses if the request:

  • Method is not GET (e.g. responses to POST are not cached)
  • Contains the header:
    • Authorization:
    • Proxy-Authorization:
    • If-Modified-Since
    • If-Unmodified-Since
    • If-Match
    • If-None-Match

FortiWeb also will not cache if the response:

  • Has a Set-Cookie: field
  • Has a Vary: field
  • Forbids caching (e.g. Cache-Control: no-cache/no-store/private)
  • Has no Content-Length: field (e.g. Connection:close and Transfer-Encoding: chunked)
  • Has no cache expiry tag (e.g. Last-Modified/Etag and Cache-Control/Expires)

What can be cached?

Caching generally works best with data that doesn't change. Things like static web pages, images, movies, and music all typically work well.

When content changes often, caching provides overhead by consuming RAM without its usual benefit of reduced latency. Some HTTP headers and other factors indicate dynamic content which FortiWeb will not cache.

FortiWeb will not cache responses if the request:

  • Method is not GET (e.g. responses to POST are not cached)
  • Contains the header:
    • Authorization:
    • Proxy-Authorization:
    • If-Modified-Since
    • If-Unmodified-Since
    • If-Match
    • If-None-Match

FortiWeb also will not cache if the response:

  • Has a Set-Cookie: field
  • Has a Vary: field
  • Forbids caching (e.g. Cache-Control: no-cache/no-store/private)
  • Has no Content-Length: field (e.g. Connection:close and Transfer-Encoding: chunked)
  • Has no cache expiry tag (e.g. Last-Modified/Etag and Cache-Control/Expires)