我们正在开发一个浏览器扩展,作为其功能集的一部分,它连接到外部 API(在我们的服务器上)以加载数据。
出于几个原因,了解哪个版本的扩展正在连接到 API 很有用。跟踪版本之间的升级率可能很有用,但我们可能需要根据在旧版本扩展中观察到的错误对 API 做出不同的响应。
扩展让服务器知道它正在运行什么版本的最佳方式是什么?
将信息添加到现有的 User-Agent 标头?(即这个请求是从我在这个浏览器中的扩展发送的)
User-Agent: Mozilla/5.0 (…) Firefox/3.6.3 (MyPlugin/1.2.3.2256)
完全替换 User-Agent 标头?(即这个请求是从扩展发送的,因为它不是由浏览器呈现的,所以原始的 UA 字符串无关紧要)
User-Agent: MyPlugin/1.2.3.2256
为请求添加单独的标头只是为了跟踪此信息?(即这个请求仍然是从扩展的主机浏览器发送的,但这里还有一些额外的信息给你)
User-Agent: Mozilla/5.0 (…) Firefox/3.6.3
X-MyPlugin-Version: 1.2.3.2256
选项 3 对我来说听起来有点逃避,因为 User-Agent 标头的特定目的是传递有关发出请求的程序的信息,但我不知道其他之间是否有任何具体建议两个选项