根据3.11节中的rfc2616,实体标签的格式如下:
entity-tag = [weak] opaque-tag
弱=“W /”
opaque-tag = quoted-string
在rfc2616第14.24节中给出的条件“If-match”的示例如下:
If-Match:“xyzzy”
If-Match:“xyzzy”,“r2d2xxxx”,“c3piozzzz”
如果匹配:*
我正在用c做一个项目,在那里我将解析来自不同客户端的http请求。 Web服务器也是用c编写的,我可以从Web服务器获取请求标头和值const char*
并解析它们。但令我困惑的是,标题"If-match"
中的值与"xyzzy, r2d2xxxx ,c3piozzzz"
类似,或者它与""xyzzy", "r2d2xxxx", "c3piozzzz""
类似?你知道哪一个是对的吗?如果它有一个实体列表,那么If-Match标头值中的每个etags之间肯定会有空格吗?我的意思是格式是以下类型吗?
If-Match:“one-entity-tag”,[space]“second-entity-tag”,[space]“third-entity-tag”
如果它有一个etags列表,则没有If-Match标头值格式的描述。 rfc2616只给出了一个例子(我在上面展示过)。那个例子可靠吗?
答案 0 :(得分:1)
您可以信任规范和示例:双引号实际上是ETag的一部分。