我无法从我的网站发送 Etag header

我不确定是 PHP 还是 Nginx 的问题

但我可以发送一个 Last-Modified header

我发现我可以做这样的事情来代替 etag

// response
last-modified: 2929606074

// request
if-modified-since: 2929606074

我应该用这种方式吗?

我还认为另一种方法是使用 uniqid 值 (2929606074) 减去当前时间戳

如:2929606074 - 1386929153 = 1542676921 并将其设置为最后修改日期
// response
last-modified: Tue, 20 Nov 2018 01:22:01 GMT

最佳答案

不,你不应该。 HTTP explicitly suggests to send both headers :


ETagLast-Modified 的目的非常相似,但语义不同。使用 ETag 标识实体,使用 Last-Modified 标识资源的日期,分辨率为 1 秒。客户端的行为也不同:

  • 必须 使用实体标签
  • 应该 使用 Last-Modified
  • 应该 同时使用
  • 关于HTTP - 我应该使用 Last-Modified 作为 Etag 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20563936/

    10-12 13:32