请教一下,在HTTP协议的缓存机制当中。
假如浏览器端有一个文件的缓存,再次向服务器发出该资源的请求时会携带上if-modified-since和if-none-match两个字段。
而服务器会根据文件的last-modified和ETag进行对比。假如说ETag相同,文件最后修改时间也没有改变,那么服务器会返回一个304告诉浏览器继续用本地缓存就可以了。
那么想请教一个问题,为什么这里需要两个字段呢?单独的时间比较(last-modified)或者是文件哈希值(ETag)不行吗?为什么一定要两个?
刚才看到的,希望对你有点帮助!