在API的用户代理字符串中发送PHP和Apache版本正确吗



我构建了一个API框架,其中包括许多与通信相关的选项,包括输入验证和加密。

我认为,由于所有这些选项,需要构建一个"API Wrapper"类,以简化当另一个系统想要连接到我的API时的过程。因此,他们基本上可以下载一个类,并通过该类从他们的系统轻松连接到我的系统。

这个包装类使用cURL发出请求。

我的系统还包括一个记录器,用于跟踪API调用以供将来参考和调查(如果出现问题以及性能分级),包括跟踪所有这些请求的用户代理字符串。

我的问题是,如果我将Apache和PHP版本号与API包装器类版本一起包含在字符串中,这是好是坏,如下所示:

myApi/1.0 (Apache 2.2.17;PHP 5.4.0)

我担心,如果PHP版本号以这种方式在网络上传输,即使是在服务器之间,而不是在客户端计算机和服务器之间,这是否是一个问题?

我认为您可能混淆了API和客户端之间的区别。套用你的问题,听起来就像你已经建立了:

  1. 具有各种服务/资源的API

  2. 第三方开发人员可以在自己的应用程序中使用的客户端类("包装器"),以与您的API 通信

如果是这种情况,那么您希望传达的服务器信息就是将使用您的客户端类的应用程序的系统需求。这与API运行的PHP版本无关,只是您碰巧在同一平台上开发了API和客户端。例如,如果您用PHP构建了API,用Java构建了包装器,那么会更容易看到区别。

客户端/包装器类的最低PHP版本是向第三方开发人员传达的重要信息,这样他们就可以随心所欲地使用该类。在这种情况下,是的,您应该在某个地方提供它(我的建议是在包装类的文档中)。

最新更新