HTTP - 我应该使用Last-Modified作为Etag吗?

时间:2013-12-13 10:16:34

标签: http http-headers etag last-modified

我无法从我的网站发送Etag标题

我不确定是PHP还是Nginx问题

但我可以发送Last-Modified标头

我发现我可以做这样的事情来取代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

1 个答案:

答案 0 :(得分:4)

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

  

HTTP / 1.1源服务器的首选行为是发送强实体标记和Last-Modified值。

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

  • 必须使用该实体标记
  • 应该使用Last-Modified
  • 应该同时使用