envoyproxy/envoy

CacheFilter: Parse and handle precondition request headers

Open

#9,855 opened on Jan 28, 2020

View on GitHub
 (0 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/cachehelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

CacheFilter (#7198) must fully parse and handle precondition request headers (RFC7232): if-match, if-none-match, if-modified-since, if-unmodified-since, and if-range.

This must be fixed before CacheFilter can be appropriate for production deployment.

We currently ignore these headers, which is incorrect, and will result in serving wrong content from cache. As a temporary shortcut, it would be acceptable to instead bypass caching for requests with precondition header. This would reduce cache effectiveness and give clients an easy way to bypass cache, but would never cause incorrect results. With the shortcut, this issue would no longer block production deployment of CacheFilter.

Contributor guide