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

duplicate pasted text in s-maxage #264

Closed
royfielding opened this issue Nov 12, 2019 · 4 comments
Closed

duplicate pasted text in s-maxage #264

royfielding opened this issue Nov 12, 2019 · 4 comments

Comments

@royfielding
Copy link
Member

The commit d4695a3 for #161 added a paragraph to s-maxage that contains the directive must-revalidate. I think this was supposed to say s-maxage and worded for shared caches?

royfielding added a commit that referenced this issue Nov 22, 2019
reschke added a commit that referenced this issue Nov 22, 2019
@mnot
Copy link
Member

mnot commented Nov 25, 2019

Sorry, been travelling.

This was intentional (although I forgot to update the directive name). s-maxage implies proxy-revalidate, which implies must-revalidate. That seems like a lot of indirection in the definition.

I agree this wasn't a great way to do it, though. I think the options are:

  1. Leave it as is (i.e., two levels of indirection).
  2. Leave it as is, but use linking more explicitly so that the indirections can be followed more easily (at least in HTML renderings).
  3. Inline the appropriate text from must-revalidate into both proxy-revalidate and s-maxage.

I think those are ordered according to my preferences, least to most.

(I strongly suspect many people don't realise s-maxage has these semantics, because of it having a name similar to max-age. Making them inline rather than referenced might help)

@mnot mnot reopened this Nov 25, 2019
@royfielding
Copy link
Member Author

I agree with the conclusion, but am pretty sure that you meant to say s-maxage in that section defining s-maxage. That's all I changed, so it should be fine unless you wanted to add more text to explain why. I don't think it is necessary to explain more because adding s-maxage implies the server wants shared caches to reuse the response.

@mpdude
Copy link

mpdude commented Jan 11, 2020

I agree with @mnot that the additional semantics of s-maxage are surprising. In particular due to section 4.2.1, s-maxage comes disguised as the "different maxage value for shared caches".

So maxage + public != smaxage, and the difference is the handling of error cases like with stale-if-error?

Could you please try to explain why the additional semantics of s-maxage make sense – that is, why did you not just make it the alternative TTL for shred caches?

Thank you!

@royfielding
Copy link
Member Author

Ah, okay, so the added paragraph had the right directive before but simply doesn’t make any sense given the context.

@mnot mnot self-assigned this Feb 2, 2020
@mnot mnot closed this as completed Feb 3, 2020
royfielding added a commit that referenced this issue Mar 6, 2020
Restore some 2616 wording on public, must-revalidate, and proxy-revalidate

This ended up being an editorial change between drafts because the only normative changes were already noted for #264 and #268, and this is just rewording what we had for #161.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants