我们使用ETag头在服务器上进行同步,它对应于DB中实体的int版本字段。根据w3c文档:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html示例:
ETag: "xyzzy"
ETag: W/"xyzzy"
ETag: ""这意味着双引号中的ETag。因此,如果我想将它发送给客户端,应该这样做:
int version = 2;
response.setHeader(HttpHeaders.ETAG, String.format("\"%s\"", version));或者:
int version = 2;
response.setHeader(HttpHeaders.ETAG, String.format("%s", version));第一种情况是:
HTTP/1.1 200 OK
...
ETag: 2在第二位:
HTTP/1.1 200 OK
...
ETag: "2"哪种方式更符合w3c?
发布于 2014-08-12 13:51:46
( a) W3C并不重要。您正在查看由W3C托管的IETF 2616的副本。如果RFC已经过时,您应该阅读RFC 7232 (例如http://greenbytes.de/tech/webdav/rfc7232.html#header.etag)。
在你的例子中,第一个是不正确的,第二个是正确的。
https://stackoverflow.com/questions/25264439
复制相似问题