【问题标题】:What is an "optional HTTP response header"?什么是“可选的 HTTP 响应标头”?
【发布时间】:2021-02-15 05:32:13
【问题描述】:

discord API documentation for rate-limits 说:

对于发出的每个 API 请求,我们都会返回可选的 HTTP 响应标头,其中包含您在请求期间遇到的速率限制。

什么是“可选 HTTP 响应标头”?如何在我的请求中指定我想要它们?当前请求不返回此信息。

我得到的标头(C# .NET5):

Date: Sun, 14 Feb 2021 21:12:57 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __cfduid=d4b6460a960478da3551a5606b9f866291613337177; expires=Tue, 16-Mar-21 21:12:57 GMT; path=/; domain=.discord.com; HttpOnly; SameSite=Lax; Secure
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
x-envoy-upstream-service-time: 478
Via: 1.1 google
Alt-Svc: h3-27=":443"
Alt-Svc: h3-28=":443"
Alt-Svc: h3-29=":443"
CF-Cache-Status: DYNAMIC
cf-request-id: 0843fcc477000040cbe70cf000000001
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report?s=fxLWkQ1cyI0hkx7Y37u4aJgggXkYoLCR0xyug0Z2FR7ezTwHBST98EvVj3Now5wzxkLu4IJSsr%2F4FiRWaPtga0cg7iZNpLk9%2BjzAmQ%3D%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"max_age":604800,"report_to":"cf-nel"}
X-Content-Type-Options: nosniff
Server: cloudflare
CF-RAY: 6219ca4d8c1640cb-LHR

【问题讨论】:

  • 我认为它们是“可选的”,因为 HTTP 标准没有定义它们,而不是 Discord 仅在某些响应中包含速率限制标头。

标签: http discord


【解决方案1】:

互联网由不同的机器使用商定的协议来交换数据。该协议由 IANA 批准的描述定义,即使在批准之后,也被描述为征求意见 (rfc)。 HTTP 版本 1.1 的 RFC 是 RFC2616。虽然现在这已被取代,但它提供了一个常用的参考点,并且其中的大部分信息仍然适用。您会在大多数 RFC 中看到 the same requirements

关键词“MUST”、“MUST NOT”、“REQUIRED”、“SHALL”、“SHALL NOT”, “应该”、“不应该”、“推荐”、“可能”和“可选” 文档将按照 RFC 2119 [34] 中的描述进行解释。

有些东西对于协议的运行是必不可少的,有些东西可以增加附加值。特别是关于不和谐,它所讨论的标头不是处理请求所必需的,而是提供有关未来请求可能失败的原因的信息。

正如您所指出的,您在此处提供的示例不包含您链接的文档中描述的标题。

Discord provide a facility 让您向他们寻求支持或报告问题。我建议这应该是你的第一个停靠港。

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 2012-06-27
    • 2010-12-14
    • 2019-12-17
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    相关资源
    最近更新 更多