rest - GitHub 的 API 现在拒绝没有用户代理的 HTTP 请求 - 谁能告诉我为什么?

标签 rest http security github http-headers

根据https://developer.github.com/v3/#user-agent-required ,并且自 2013 年 4 月起(请参阅 https://developer.github.com/changes/2013-04-24-user-agent-required/ ),对 GitHub API 的所有 HTTP 请求都需要具有 User-Agent header 。

很好,因为大多数用户代理都会发送该 header 。

但是,我无法完全理解的是为什么做出这个决定,或者更一般地说,为什么需要User-Agent会有好处?我也应该为基于 HTTP 的服务做这件事吗?

最佳答案

主要是跟踪和调试目的。他们在文档中说:“我们要求您使用您的 GitHub 用户名或应用程序的名称作为 User-Agent header 值。这使我们可以在出现问题时与您联系。”如果您的应用程序有错误或行为不当,他们可以轻松联系您。他们还可以跟踪哪些用户/应用程序正在使用 API。

(当然,您可以提供任何您想要的用户代理值,但如果您玩得好,您将尊重他们使用您的 GitHub 用户名或应用程序名称的请求。)

关于rest - GitHub 的 API 现在拒绝没有用户代理的 HTTP 请求 - 谁能告诉我为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867646/

相关文章:

c# - 如何让 ModelState 在 asp.net mvc web api 上工作?

ruby-on-rails - rest_client gem 已弃用,将从 RubyGems 中删除。请改用 rest-client gem

c# - ServiceNow 表 API 返回重复项/不返回所有记录

javascript - 无法追踪的 HTTP 重定向?

c# - 如何检测目标域的虚假可信个人/根 SSL 证书

javascript - JS - 如何在发件人域未知时安全地使用 window.postMessage

java - 在 Docker 中对端点进行 REST 调用

javascript - Meteor:确保函数不会对远程数据抛出异常

java - Android 手机作为实时 MJPEG 视频服务器

mysql - 这是为数据库应用程序提供服务的安全方法吗?