Using the Voice Browser Cache
Any document retrieved through a HTTP GET in a VoiceXML document may be cached; for example, other VoiceXML documents, grammars, and audio files. The voicexml.dtd file will not be cached because the XML parser loads DTDs on every fetch.
When the cache is enabled, all HTTP responses with a code of 200 are stored in the cache unless they exceed the size limit.
HTTP Cache keys are based on the URL. If the URL is a HTTP GET with values, the values will be part of the cache key as well.
When a request is made for the same URL, the cache response is checked for expiration. If it has not expired (based on the expires HTTP response header), a conditional HTTP request is made using the last-modified and/or etag values from the cached response.
Cache is controlled by the Web sender and by the set of vxml attributes containing the maxage and maxstale strings in the VoiceXML document.
If none of these headers were present in the cached response, it is assumed that the response is not cacheable.
The value of expires is subject to clock differences between computers. Last-modified is unaffected as it is sent back to the server as is.
Cache replacement policy is LRU.
Dynamic web pages (JSP, ASP, PHP, cgi-bin, and so on) are cacheable provided they are accessed via HTTP GET and they return the listed response header.
-
etag
-
last-modified
-
expires
-
if-none-match
-
if-last-modified