我们正在运行一个 API,有很多人在使用它。由于我的一些遗留问题,其中一个端点返回了错误的 content-type header,js
而它应该是json
. 我的问题是,如果我们通过交换来返回正确的值来解决这个问题,那么对于我们现有的客户来说,事情会有多严重?或者换一种说法,您是否希望许多不同的 HTTP 客户端库在看到这样的变化时抛出致命错误?
我们正在尝试确定这是一个我们可以继续进行的更改,而不必担心太多,或者我们应该仔细地向所有用户发送电子邮件并宣布一个多年的弃用期……或者介于两者之间。
这可能在一定程度上取决于正在使用的不同 HTTP 客户端的类型,因此我查看了用户代理。答案:很多不同的!以下是一些顶级的:
"okhttp/3.2.0", "python-requests/2.10.0", "Ruby", "python-requests/2.7.0", "Mozilla/5.0", "Java/1.8.0_91", "python-requests" /2.4.3", "okhttp/3.3.0", "Lucee", "Dalvik/2.1.0", "Google-HTTP-Java-Client/1.21.0", "PHP_appname", "NativeHost", "Java /1.7.0_67", "Apache-HttpClient/UNAVAILABLE", "Dalvik/1.6.0", "Web-sniffer/1.1.0", "unirest-objc/1.1"
各种不同的移动和服务器端语言库。大多数不是运行 javascript 的浏览器,但也有一些。
大多数人似乎没有注意到内容类型是错误的,但时不时会弹出一个新的支持请求,抱怨这个问题,所以我们想修复它。