Ste*_*han 71 http http-headers
我已经搜索了很多这个主题,阅读有关此标题的各种文章,它在Heroku上的使用或基于Django的项目.
但是,它仍然让我感到困惑.
Ste*_*ögl 126
当您运行客户端访问的Web服务时,可能很难将请求(客户端可以看到)与服务器日志(服务器可以看到)相关联.
这个想法X-Request-ID是客户端可以创建一些随机ID并将其传递给服务器.然后,服务器在其创建的每个日志语句中包含该ID.如果客户端收到错误,它可以在错误报告中包含该ID,允许服务器操作员查找相应的日志语句(无需依赖时间戳,IP等).
由于此ID由客户端(随机)生成,因此不包含任何敏感信息,因此不应违反用户的隐私.由于每个请求都会创建一个唯一ID,因此跟踪用户也无济于事.
您可以将其视为X-Request-ID某种类型的身份证,以便可以唯一地识别您的身份。那么这是什么意思呢?这与我去 DMV 时发生的情况类似:
一整天都被浪费了——你向国会议员抱怨——嘿:我排队等了16个小时等等。国会议员回复道:
“当我查看 DMV 记录时,我该如何识别您的身份——您何时来等?
这就是 X-Request-ID 的用武之地。只需向他显示号码,他们就可以跟踪您的请求......
这同样适用于 http 请求 - 它是一个用于帮助后端开发人员找出问题所在的 ID。客户端使用该 ID 提交请求 - 这是他们创建的 ID(即一些随机数等)。现在服务器可以跟踪它。
故事旨在帮助您记住。
希望您不会进一步感到困惑 - 如果有的话请发表评论,我会尽力澄清。谢谢。
目的:幂等
对于每个请求,ID都会更改,但是在重试请求时,ID保持不变,接收方可以确保该请求不会被多次处理。
这是一些API提供程序的报价:
所有POST,PUT和PATCH HTTP请求都应包含唯一的X-Request-Id标头,该标头用于确保重试时进行幂等消息处理
如果您将其设为随机字符串(每个请求唯一),则不会侵犯您的隐私,也不会启用跟踪。
如果您想更多地了解幂等性,请阅读这篇有见地的文章。
| 归档时间: |
|
| 查看次数: |
62192 次 |
| 最近记录: |