apache / apache/jmeter

HTTP CacheManager - add option to check all headers

Open
#5,308 0 comments 0 reactions 0 assignees View on GitHub
enhancement os: All P2
Dominant language
Java
Stars
9.5k
Forks
2.3k
Avg merge
1d 22h
Merged PRs (30d)
5

Description

**geert.draelants** ([Bug 64406](https://bz.apache.org/bugzilla//show_bug.cgi?id=64406&redirect=false)):
The HTTP CacheManager only checks the last occurrence of Cache-Control and Expires header. So if you have a malfunctioning webserver that sends multiple contradicting headers you might not always detect it with JMeter.

Also the CacheManager does not have support for the Pragma header. Yes, this last one is deprecated with HTTP 1.1 but we've found that e.g. IE 11 still processes it.

I would like to add support for 2 things:
(1) add an option to process all Cache-Control and Expires headers and not just the last one in the list
This would also enable 'strict' processing of the headers. By this I mean that if multiple contradicting instructions are found then we should favour the one that results on no caching or the shortest amount of caching.
E.g. if you get a header like 'Cache-Control: max-age=86400, max-age=100' then choose 'max-age=100'. Similar if multiple Expires headers are found, take the one that is the earliest to expire.

(3) add an option to process 'Pragma: no-cache' header as if it were 'Cache-Control: no-cache', regardless of the HTTP version.

OS: All

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.