我構建了一個nodejs command line utility,以便從命令行發佈要點既簡單又安全。它工作得很好,但我想知道爲這種事情設置User-Agent的正確方法是什麼。正確設置命令行應用程序的User-Agent?
現在它被設置爲一個基本上任意的字符串:「nodejs/0.0.1(node)gist命令行工具v0.0.1」。
是否有設置用戶代理的指導原則?有沒有任何理由正確設置它?對設置不正確有沒有負面影響?我所做的只是提出幾個http請求。
我構建了一個nodejs command line utility,以便從命令行發佈要點既簡單又安全。它工作得很好,但我想知道爲這種事情設置User-Agent的正確方法是什麼。正確設置命令行應用程序的User-Agent?
現在它被設置爲一個基本上任意的字符串:「nodejs/0.0.1(node)gist命令行工具v0.0.1」。
是否有設置用戶代理的指導原則?有沒有任何理由正確設置它?對設置不正確有沒有負面影響?我所做的只是提出幾個http請求。
我覺得準則是RFC 2068(14.42)(和RFC 1945幾乎是一樣的)
正如RFC 2068,用戶代理SHOULD這樣
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應用程序可以解析您的用戶代理程序cor rectrly for logging等。
這完全正確。 GitHub最近開始要求API的用戶代理,以便他們可以聯繫那些看似濫用或長期濫用API的人。他們也開始解析它們,以便在幾個月前進行記錄(盡我所知)。 – 2013-05-06 14:27:47
請參閱我對@ Outsider的回答的評論,但也請包括您的項目的URL或者您的項目名稱。 – 2013-05-06 14:28:20