Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vary * #286

Closed
mnot opened this issue Feb 3, 2020 · 4 comments · Fixed by #304
Closed

Vary * #286

mnot opened this issue Feb 3, 2020 · 4 comments · Fixed by #304

Comments

@mnot
Copy link
Member

@mnot mnot commented Feb 3, 2020

Calculating Cache Keys with Vary says:

A Vary header field-value of "*" always fails to match.

I think this should be:

A Vary header field value containing a member "*" always fails to match.

@mnot
Copy link
Member Author

@mnot mnot commented Feb 3, 2020

Discussed in Basel.

The current ABNF defines * as a special value which only invokes the semantics when it's the entire field value; otherwise, it becomes a field name (since it's valid according to the field-name ABNF) and effectively gets ignored (since it's not going to be in normal requests).

An alternative way of looking at it is to say that it's a special field name that, when it occurs anywhere in the Vary field value, it effectively turns off caching, no matter what the rest of the field value contains.

Waiting for data to see what implementations do. Either way, this needs some examples in the spec, since it's so special.

@mnot mnot added the needs-data label Feb 3, 2020
@mnot
Copy link
Member Author

@mnot mnot commented Feb 4, 2020

See some results here.

It looks like all browser engines will turn off caching if * appears as any member, as does Squid. ATS and httpd only cache in the specific case where there's a blank Vary field line and then one containing *. Varnish appears to be the only cache tested that will treat * like a field name if there's any other content in Vary; nginx is all over the map, and Fastly doesn't seem to know about *.

@mnot mnot removed the needs-data label Feb 4, 2020
@annevk
Copy link
Contributor

@annevk annevk commented Feb 4, 2020

Duplicate of #272? See also #274.

@mnot
Copy link
Member Author

@mnot mnot commented Feb 4, 2020

@annevk shhh, we're trying to inflate our issue stats.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

2 participants