0

谁能告诉我以下 Web 服务器日志数据中的字段名称?

85.214.57.164 - - [27/Mar/2008:22:46:36 -0400] "GET /LongDistance/ServicesAgreement.html?logo=http%3A%2F%2Fwww.antwerpsupporter.be%2Fsubscribe_2_me_to-delete%2Fsm%2Fexported_files1%2Fmosupoz%2Fadusa%2Fojafujo%2Faweji%2F HTTP/1.0" 404 374 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)"
85.214.57.164 - - [27/Mar/2008:22:46:36 -0400] "GET /LongDistance/ServicesAgreement.html?logo=http%3A%2F%2Fwww.math.science.cmu.ac.th%2Flms%2Flib%2Fadodb%2Fpear%2Fnoxifi%2Fezogan%2F HTTP/1.0" 404 374 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)"
85.214.57.164 - - [27/Mar/2008:22:46:37 -0400] "GET /LongDistance/ServicesAgreement.html?logo=http%3A%2F%2Fsans-packing.ru%2Fimg%2Fjipeqap%2Fehudute%2F HTTP/1.0" 404 374 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)"

解释——

我知道所有其他领域,即

客户端IP,
日期,
时间,
时区,
方法,
请求的网址,
协议,
HTTP状态,
发送的字节数

但我没有得到括号中给出的关于浏览器的最后一个字段。

谁能解释一下?

我特别想要括号中的字段,即

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)

任何帮助,将不胜感激。

4

1 回答 1

1

User-Agent您感兴趣的最后一个字段与 Web 浏览器和其他 HTTP 客户端在HTTP 请求标头中发送的用户代理 (UA) 信息非常相似(参见例如MDNWikipediaHTTP 1.1 规范)。

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)

您询问了括号内的用户代理字符串部分。这基本上只是对运行用户代理的平台/系统的评论。

一般来说,我不认为这个字符串必须是任何特定的格式(即使它对于大多数常见的用户代理来说可能看起来很相似),所以在尝试解析这个字段时要小心。

从 HTTP 1.1 规范,RFC 7231 第 5.5.3 节

User-Agent = product *( RWS ( product / comment ) )

字段值由User-Agent一个或多个产品标识符组成,每个产品标识符后跟零个或多个注释([RFC7230] 的第 3.2 节),它们共同标识用户代理软件及其重要子产品。按照惯例,产品标识符按其对识别用户代理软件的重要性的降序排列。每个产品标识符由名称和可选版本组成。

关于评论,请参阅RFC 7230 第 3.2.6 节

通过用括号将注释文本括起来,可以将注释包含在某些 HTTP 标头字段中。仅允许在包含“comment”作为其字段值定义的一部分的字段中使用注释。

更具体地说, UserAgentString.com保留了用户代理字符串的详细列表及其含义,请参阅此处以获取与您感兴趣的字符串相似的字符串。这是一个简短的示例:

  • Mozilla/4.0(括号外的产品和产品版本):“声称是基于 Mozilla 的用户代理,这仅适用于 Firefox 和 Netscape 等 Gecko 浏览器。对于所有其他用户代理,它意味着‘Mozilla 兼容’。”

    (如果您问自己为什么浏览器会自我识别,Mozilla即使它们是其他东西,请参阅例如this other SO question。)

  • compatible: 如上

  • MSIE 7.0:实际的用户代理(Internet Explorer 7)

  • Windows NT 5.1: 操作系统版本 (Windows XP)

  • .NET CLR 2.0.50727: .NET Framework 2 安装在客户端操作系统上

  • .NET CLR 1.1.4322: .NET Framework 1.1 安装在客户端操作系统上

于 2018-11-23T04:29:21.760 回答