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

gateway: clarify Last-Modified #470

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

gateway: clarify Last-Modified #470

wants to merge 2 commits into from

Conversation

lidel
Copy link
Member

@lidel lidel commented Mar 27, 2024

Closes #467 by updating Last-Modified section.

We forgot to do that as part of TTL cleanup, and that created contradiction reported by @SgtPooki (thx!)

- No matter if TTL value is known or not, implementations SHOULD always
send a [`Last-Modified`](#last-modified-response-header) header with the timestamp of the record resolution.
- Implementations MAY also place an lower bound of 1 minute to avoid excessive lookups.
- If TTL value is unknown, implementations MAY not send a `Cache-Control`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May not?

Suggested change
- If TTL value is unknown, implementations MAY not send a `Cache-Control`
- If TTL value is unknown, implementations MAY send a `Cache-Control`

Comment on lines +435 to +438
When `Cache-Control` is not present, `Last-Modified` value also acts as a hint
for web browsers in a process called "Calculating Heuristic Freshness"
(Section 4.2.2 of :cite[rfc9111]). Each browser uses different heuristic,
making this an inferior, non-deterministic caching strategy.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is much more helpful for me.

- No matter if TTL value is known or not, implementations SHOULD always
send a [`Last-Modified`](#last-modified-response-header) header with the timestamp of the record resolution.
- Implementations MAY also place an lower bound of 1 minute to avoid excessive lookups.
- If TTL value is unknown, implementations MAY not send a `Cache-Control`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May not?

Suggested change
- If TTL value is unknown, implementations MAY not send a `Cache-Control`
- If TTL value is unknown, implementations MAY send a `Cache-Control`

@hacdias hacdias removed their request for review May 27, 2024 12:43
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: include information about optional modtime from UnixFS 1.5 (ipfs/boxo#659) and what takes priority on IPNS (modtime form dag-pb or ipns name resolution time)

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

Successfully merging this pull request may close these issues.

bug: spec contradiction
2 participants