2017-08-24 1 views
2

Selon https://developer.github.com/v3/#user-agent-required, et depuis avril 2013 (voir https://developer.github.com/changes/2013-04-24-user-agent-required/), toutes les requêtes HTTP à l'API GitHub doivent avoir un en-tête User-Agent.L'API de GitHub rejette désormais les requêtes HTTP sans user-agent - quelqu'un peut-il me dire pourquoi?

Ceci est bien, puisque la plupart des agents utilisateurs envoient cet en-tête.

Cependant, ce que je n'arrive pas à comprendre complètement est pourquoi était cette décision prise, ou plus généralement, pourquoi serait-il un avantage d'exiger User-Agent? Et est-ce quelque chose que je devrais faire pour mes services basés sur HTTP aussi?

Répondre

3

À des fins de suivi et de débogage, principalement. Ils disent dans la documentation: "Nous vous demandons d'utiliser votre nom d'utilisateur GitHub, ou le nom de votre application, pour la valeur de l'en-tête User-Agent, ce qui nous permet de vous contacter en cas de problème." Cela leur permet de vous contacter facilement si votre application est boguée ou se comporte mal. Ils peuvent également identifier les utilisateurs/applications qui utilisent l'API.

(Bien sûr, vous pouvez fournir n'importe quelle valeur en tant qu'agent utilisateur, mais si vous jouez bien, vous accepterez leur demande d'utiliser votre nom d'utilisateur GitHub ou votre nom d'application.)