'RFC 2616 13.6
When the cache receives a subsequent request whose Request-URI
specifies one or more cache entries including a Vary header field,
the cache MUST NOT use such a cache entry to construct a response
to the new request unless all of the selecting request-headers
present in the new request match the corresponding stored
request-headers in the original request.'

def testVaryHeaderSimple(self):

    uri = urllib.parse.urljoin(base, 'vary/accept.asis')
    (response, content) = self.http.request(uri, 'GET', headers={'Accept': 'text/plain'})
    self.assertEqual(response.status, 200)
    self.assertTrue(('vary' in response))
    (response, content) = self.http.request(uri, 'GET', headers={'Accept': 'text/plain'})
    self.assertEqual(response.status, 200)
    self.assertEqual(response.fromcache, True, msg='Should    be    from    cache')
    (response, content) = self.http.request(uri, 'GET', headers={'Accept': 'text/html'})
    self.assertEqual(response.status, 200)
    self.assertEqual(response.fromcache, False, msg='Should    not    be    from    cache')
    (response, content) = self.http.request(uri, 'GET')
    self.assertEqual(response.status, 200)
    self.assertEqual(response.fromcache, False, msg='Should    not    be    from    cache')
