根据rfc2616第3.11节,实体标签的格式如下:
实体标签= [弱]不透明标签
弱=“W/”
不透明标签=引用字符串
在 rfc2616 第 14.24 节中给出的条件“If-match”的示例如下:
如果匹配:“xyzzy”
如果匹配:“xyzzy”、“r2d2xxxx”、“c3piozzzz”
如果匹配:*
我正在用c语言做一个项目,我将在其中解析来自不同客户端的http请求。 Web 服务器也是用 c 编写的,从 Web 服务器我可以获取请求 header 和值作为 const char* 并解析它们。但我的困惑是, header "If-match"
中的值将类似于 "xyzzy, r2d2xxxx ,c3piozzzz"
还是类似于 “xyzzy”、“r2d2xxxx”、“c3piozzzz””
?你知道哪一个是对的吗?如果 If-Match header 值具有实体列表,则每个 etag 之间肯定会有空格吗?我的意思是格式将是以下类型吗?
If-Match:“一个实体标签”,[空格]“第二个实体标签”,[空格]“第三个实体标签”
如果 If-Match header 值具有 etag 列表,则没有说明其格式。 rfc2616 仅给出了一个示例(我在上面展示过)。这个例子可靠吗?
最佳答案
您可以相信规范和示例:双引号实际上是 ETag 的一部分。
关于对 http 请求 header 值的格式感到困惑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10914578/