使用 HTTP Vary 标头来决定处理请求的策略
我有一个特定的 REST 端点,可以在论坛中创建主题;但我想在处理请求时应用不同的策略。例如,如果客户 A 拨打电话,请进行审核。如果客户 B 拨打电话,请执行其他操作。最简单的方法是添加一个查询参数以进行区分:
POST /resource?from=xyz
另一个绝妙的想法是使用 Vary HTTP 标头。
POST /resource
Vary: xyz
这种方法有什么问题吗?
I have a specific REST endpoint that creates a topic in a forum; but I want to apply different strategies when processing the request. e.g. If client A makes the call, perform moderation. if client B makes the call, do something else. The easiest would be to add a query param for differentiation:
POST /resource?from=xyz
Another brilliant idea is to use the Vary HTTP header.
POST /resource
Vary: xyz
Any problems with this approach ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,首先,“Vary”是一个响应标头,所以这不是那么出色:-)
Well, for one, "Vary" is a response header, so this is not so brilliant :-)
如果这是出于安全原因,那么这是非常糟糕的安全性。相反,使用标准 HTTP 身份验证(或您的自定义身份验证方案)将凭据传递到后端,并且只有那里根据凭证/角色执行所需的任何审核/审核。
If this is for security reasons, this is very bad security. Rather, use standard HTTP authentication (or your custom authentication scheme) to pass credentials to the backend, and only there, based on credential/roles do whatever moderation/audit is required.