support headers as source key

* multiple key sources
* rename cache keys
* simplified cache keys