ETag: ETag是实体标签的缩写,可以看作是表示资源的唯一标识符。服务器可以为每个资源生成一个ETag,并在后续请求中将其发送给客户端。客户端可以在发起请求时将ETag作为If-None-Match请求头发送给服务器。服务器会将ETag与当前资源的ETag进行比较,如果相同,说明资源没有修改,并返回304 Not Modified响应。这样可以避免返回相同内容的资源,减少数据传输量。
以下是一个示例,展示了如何在Koa.js中设置ETag:
Last-Modified: Last-Modified表示资源的最后修改时间。服务器可以在响应头中设置Last-Modified字段,客户端可以在后续请求中将其作为If-Modified-Since请求头发送给服务器。服务器会将资源的最后修改时间与当前时间进行比较,如果不同,表示资源已被修改,并返回新的响应。如果相同,说明资源没有修改,并返回304 Not Modified响应。