2013-05-06 50 views
0

我構建了一個nodejs command line utility,以便從命令行發佈要點既簡單又安全。它工作得很好,但我想知道爲這種事情設置User-Agent的正確方法是什麼。正確設置命令行應用程序的User-Agent?

現在它被設置爲一個基本上任意的字符串:「nodejs/0.0.1(node)gist命令行工具v0.0.1」。

是否有設置用戶代理的指導原則?有沒有任何理由正確設置它?對設置不正確有沒有負面影響?我所做的只是提出幾個http請求。

+0

請參閱我對@ Outsider的回答的評論,但也請包括您的項目的URL或者您的項目名稱。 – 2013-05-06 14:28:20

回答

2

我覺得準則是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等。

+0

這完全正確。 GitHub最近開始要求API的用戶代理,以便他們可以聯繫那些看似濫用或長期濫用API的人。他們也開始解析它們,以便在幾個月前進行記錄(盡我所知)。 – 2013-05-06 14:27:47