Appendix A: ISA Server Caching Criteria ISA Server uses several criteria when determining which objects to cache and how to cache them.. HTTP Caching ISA Server uses the following crit
Trang 1Appendix A: ISA Server Caching
Criteria
ISA Server uses several criteria when determining which objects to cache and how to cache them This appendix provides an overview of the caching criteria used by ISA Server
HTTP Caching
ISA Server uses the following criteria when caching HTTP objects:
HTTP Methods The Request Method must be an HTTP GET Otherwise,
ISA Server bypasses the cache mechanism An exception is the case of negative caching If the request is an HTTP PUT or an HTTP DELETE, ISA Server purges obsolete data from the cache
Dynamic Content By default, ISA Server does not cache dynamic content,
which is defined as URLs that contain a “?.” If you enable caching of dynamic content, ISA Server caches the object only if the response header
contains an Always Cache meta-tag This scenario hardly occurs, and for
performance reasons, you should carefully evaluate caching of dynamic content
HTTP Request Headers ISA Server bypasses the caching mechanism for
objects with certain request headers
The following request headers cause ISA Server to bypass the caching mechanism entirely ISA Server does not look for the object in its cache and does not store the response
• Cache-control: no-store
• Authorization (An exception to this rule occurs if the Web server explicitly allows caching by sending a cache-control: public, s-maxage,
or must-revalidate header.) The following request headers cause ISA Server to bypass the cache when retrieving the object, but ISA Server may cache the response for future use:
• Cache-control: no-cache (The object must be validated again during subsequent requests.)
• Pragma: no-cache (The object must be validated again during subsequent requests.)
• If-Match
• If-Unmodified-Since
• If-Range
Trang 22 Appendix A: ISA Server Caching Criteria
The following request headers allow the client to override the default cache expiration behavior on a per-request basis:
• Cache-Control: max-age
• Cache-Control: min-fresh
• Cache-Control: max-stale
• Cache-Control: only-if-cached
HTTP Response Codes By default, ISA Server only caches responses with
the following HTTP response codes:
• 200 success
• 203 non-authoritative information
• 300 multiple choices
• 301 moved permanently
• 410 gone
HTTP Response Headers ISA Server always caches objects with the
following HTTP response headers:
• Cache-Control: public
• Cache-Control: max-age
• Cache-Control: proxy-revalidate
• Cache-Control: must-revalidate ISA Server never caches objects with the following HTTP response headers:
• Cache-Control: no-cache
• Cache-Control: no-store
• Cache-Control: private
• Pragma: no-cache
• Set-cookie
• WWW-Authenticate ISA Server caches objects with a WWW-Authenticate header only if the response also contains a Cache-Control: public header This
combination of headers is extremely rare In all other cases, if a single response contains of the headers that cause ISA Server to cache the object and one of the headers that cause ISA Server to not cache the object, ISA Server does not cache the object
Note
Trang 3Appendix A: ISA Server Caching Criteria 3
Vary header Web servers use the Vary header to indicate the presence of
multiple versions of an object with the same URL The version that is returned depends on one or more request headers that are specified as arguments to the Vary header ISA Server can store multiple versions of the same object in its cache with the following implementation limitations:
• The object can vary on only one request header
• The varying header name cannot be longer than 31 characters The limitation refers to the header name such as “User-Agent,” not the value
• ISA Server reduces the maximum URL length by the size of the varying header and its value
Headers added by the ISA Server for caching ISA Server adds the Age
header to all objects served from the cache The Age header indicates how long the object has been in the cache without ISA Server having revalidated the object The information in the Age header can be useful when you troubleshoot reported caching problems or when you must know whether an object was cached ISA Server also adds the Warning header on rare, appropriate occasions when required by the HTTP specifications
Download Errors If there is an error downloading an object that is being
written to the cache, ISA Server deletes the object from the cache Such an error can be caused by the client disconnecting before the download is complete
Cache Filters You can configure routing rules that disable caching for
certain requests You can use such routing rules for Web sites that users gain access to by using a fast network connection For more information on routing rules, see Module 9, “Configuring ISA Server for an Enterprise,” in
course 2159A, Deploying and Managing Microsoft ISA Server 2000
Caching Myths
Microsoft Product Support Services (PSS) has identified a number of common misconceptions about the caching mechanism that ISA Server uses The following factors do not affect caching:
URLs containing the strings such as cgi or cgi-bin
ASP pages or other content that is dynamically created on the Web server
Responses that don't contain a Last-Modified date ISA Server only caches responses without a Last-Modified date if you configure ISA Server to do
so
META tags within HTML Most Web servers do not move META tags from the HTML code to the HTTP headers
The type of object, such as if the object is a file other than a Web page
Trang 44 Appendix A: ISA Server Caching Criteria
FTP Caching
Because FTP servers do not return the helpful information that Web servers do, FTP caching is much simpler ISA Server caches all FTP responses for a fixed period of time that you specify by using ISA Management
Active Caching
The operations of active caching depend on three factors:
Time of last object access When you configure active caching, ISA Server
retrieves Web objects with a Time-to-Live (TTL) that is close to expiring When you configure ISA Server to perform active caching less frequently, ISA Server actively retrieves Web objects only if a user recently requested the object When you configure ISA Server to perform active caching more frequently, ISA Server actively retrieves Web objects even if more time has passed since a user last requested the object
System load When ISA Server determines that the number of current client
sessions is low, ISA Server updates the objects that are marked for active caching as soon as 50% of the object’s current TTL has expired As the number of current client sessions approaches the maximum number of client sessions that ISA Server allows, active caching only retrieves objects that have a TTL that is close to expiring
System performance ISA Server contains several mechanisms that ensure
that active caching does not place an undue burden on your computer’s system performance