How does SilkPerformer use the cache or simulate browser caches?
During replay of a script SilkPerformer maintains in memory a list of the requests for files made, along with the file's date, and refers to this list when caching is turned on. Thus if "Once per session" is selected then the replay engine will always request the file first time around. However, every subsequent request will check the file list in memory, find that the file has already been received and hence not make the request. Equally, if the cache is on and set to "Always", the request will be sent with the If-modified-since header which will give the date of the file held in memory. The server will reply either with by sending on the file if the date doesn't match that in the request header, or with a "304 Not Modified", if they do match. From a server's point of view, this is almost exactly what a browser does.
The primary difference between SilkPerformer and the browsers is that SilkPerformer does not maintain a copy of the file on disc - it simply refers to the file list including date held in memory. It is important to note that since the files are not held on disc, the cache is not maintained between sessions of SP - ie the file list is deleted from memory between runs.
If you want to see the effect of using the cache you can try the following, with Cache set to Check Once per session:
You should see a decrease in the time for loading this page. Cache hits are indicated in the monitor windows during replay.