我构建了一个 nodejs命令行实用程序,以使从命令行发布要点既简单又安全。它工作得很好,但我想知道为这样的事情设置用户代理的正确方法是什么。
现在它被设置为一个基本上任意的字符串:“nodejs/0.0.1 (node) gist command line tool v0.0.1”。
是否有关于设置用户代理的指南?有什么理由正确设置它吗?设置不正确有什么负面影响吗?我所做的只是发出一些http请求。
我构建了一个 nodejs命令行实用程序,以使从命令行发布要点既简单又安全。它工作得很好,但我想知道为这样的事情设置用户代理的正确方法是什么。
现在它被设置为一个基本上任意的字符串:“nodejs/0.0.1 (node) gist command line tool v0.0.1”。
是否有关于设置用户代理的指南?有什么理由正确设置它吗?设置不正确有什么负面影响吗?我所做的只是发出一些http请求。
我认为指南在RFC 2068 (14.42) 中(和RFC 1945几乎相同)
作为 RFC 2068,用户代理应该像这样
User-Agent = "User-Agent" ":" 1*( product | comment )
和
product = token ["/" product-version]
token = 1*<any CHAR except CTLs or tspecials>
product-version = token
comment = "(" *( ctext | comment ) ")"
ctext = <any TEXT excluding "(" and ")">
在我看来,如果您正确设置用户代理,现有的 Web 服务器或 Web 应用程序可以正确解析您的用户代理以进行日志记录等。