RESTful API:需要用户代理字符串?

Mik*_*att 17 rest user-agent

我的团队有一个带RESTful API的网站.我们正在进行负载测试,因此我们构建了一个小型控制台应用程序来处理请求.此控制台应用程序不会设置用户代理字符串,这会导致我们的API出错,因为它是我们数据库中的必填字段.

那么,如果请求中不包含用户代理,我是否应该使API更加强大并且只使用默认字符串(即"未知")?或者,我应该在这种情况下返回400 Bad Request响应吗?我知道要么可能,但我正在寻找标准的方法来做到这一点.

Bri*_*lly 21

由于User-Agent标头并非绝对要求在HTTP请求中出现(规范说标题SHOULD在那里,而不是MUST),如果它能处理它不存在,那么你的API会更强大.

也就是说,测试应用程序传递User-Agent"测试应用程序"或其他内容的标识符可能会有所帮助,这样您就可以在数据库中跟踪它,或者限制或分析您的测试流量.

我会提醒您不要将其User-Agent用作客户端应用程序的权威标识符,因为它很容易被欺骗.这听起来不像你那样做,但我想我会提到它.