Testsuite for Web Caching Systems

This testsuite contains a testcase collection for analyzing various web caching systems including client-internal (e.g. web browser caches), client- as well as server-side (e.g. forward and reverse proxies) and backbone caches ( e.g. CDNs). The test suite is based on the RFC 7234.

The test cases are grouped according to the topics defined in Section 2 of the latter mentioned publication. Moreover, the testsuite contains the subtopics For all caches, For shared caches, For private caches and For shared and private caches with different freshness lifetime or policy . The topic For all caches indicates that corresponding test cases are dedicated for shared as well as private caches. Accordingly, test cases in For shared caches can applied for shared web caching systems (e.g. proxy caches or CDNs) and For private caches comprises test cases which are considered for privates caches such as web browser caches. For instance the test case collection group 1.1.1 For all caches consist of test cases which analyze if the caches honor the explicit relative freshness lifetime definitions controlled by the origin server. These test cases can be applied for all cache, as the given control directives are dedicated for shared as well as private caches. The topic For shared and private caches with different freshness lifetime or policy means that this collection group includes test cases with multiple freshness lifetime or policy definitions. This means that the request/response definitions contain control directives for shared as well as private caches simultaneously. Also, each test case collection group may include further references which redirect you to the corresponding web caching standard Section or to other publication. Here you can obtain more details on control directives and issues which the test cases aim to evaluate. This test suite is not considered as definite. If you have any comments or suggestions, please do not hesitate to contact us.

E-Mail: viet.nguyen@th-koeln.de

At the moment, our testsuite includes n test cases.

Note, that for readability reasons we use abbreviations for the request/response header field definition.


var requestHeaderFields = {
        "cc":"Cache-Control",
        "ac":"Accept",
        "inm":"If-None-Match",
        "ims":"If-Modified-Since",
        "az":"Authorization",
        "ra":"Range"
};

var responseHeaderFields = {
        "cc":"Cache-Control",
        "et":"ETag",
        "lm":"Last-Modified",
        "ex":"Expires",
        "va":"Vary"
};