当我没有添加W/时,我对W/在etag中的显示方式感到困惑。我正在使用Node.js http服务器模块,并有一个Nginx作为反向代理。我正在让浏览器看到由Node.js服务器生成的Etag,但是它带有一个W/标记。
有人能解释这个W/来自哪里吗?浏览器是否根据它确定它是一个弱的etag来插入它?我想让浏览器在我发送的时候得到它。没有W/前缀。
下面是浏览器中看到的Etag头。
etag: W/"asv1534746804282-d62serveav"当我试图与如果-零匹配,我必须脱去W/。另外,对于304状态响应,我是否必须再次发送Etag?
编辑:我添加了W/我自己,这样Nginx就不会修改它了。我希望我的假设是正确的。看来是的。
发布于 2018-08-22 21:41:34
如果您要求nginx动态地压缩您的内容,它将把您的ETags转换为弱的。这是规格所必需的,因为强ETag只能用于字节对字节相同的内容。
如果一个给定资源的两个或多个表示同时共享,则验证器是弱的,除非这些表示具有相同的表示数据。例如,如果源服务器为应用gzip内容编码的表示发送相同的验证器,则该验证器是弱的。
https://stackoverflow.com/questions/51973120
复制相似问题