GitHub的API现在拒绝没有用户代理的HTTP请求 - 任何人都可以告诉我为什么?

问题描述:

根据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标头。GitHub的API现在拒绝没有用户代理的HTTP请求 - 任何人都可以告诉我为什么?

这是罚款,因为大多数用户代理发送该标头。

然而,什么我不能完全理解为为什么是决定做,或者更一般地,它为什么会是要求User-Agent有什么好处?这是我应该为我的基于HTTP的服务做些什么?

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

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