Field 有人能解释一下web服务器日志数据中的字段吗?

Field 有人能解释一下web服务器日志数据中的字段吗?,field,weblog,Field,Weblog,有人能告诉我以下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

有人能告诉我以下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)"
解释-

我知道所有其他领域,即

client IP, Date, time, time zone, method, URL requested, protocol, HTTP status, bytes sent
任何帮助都将不胜感激。

您感兴趣的最后一个字段看起来非常像web浏览器和其他HTTP客户端在
用户代理
HTTP请求头中发送的用户代理(UA)信息(例如,请参阅或)

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

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

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

根据HTTP 1.1规范:

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

关于评论,见:

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

更具体地说,保留用户代理字符串及其含义的详细列表,例如,有关与您感兴趣的字符串类似的字符串,请参见。下面是一个简短的例子:

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

    (如果你问自己,为什么浏览器会自我识别为
    Mozilla
    ,即使它们是其他的东西,请参见例如…)

  • 兼容
    :如上所述

  • 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安装在客户端操作系统上


最好看看生成此日志的系统文档。我已经看过了。我要特别的括号字段。例如,
Mozilla/4.0(兼容;MSIE 7.0;Windows NT 5.1;.NET CLR 2.0.50727;.NET CLR 1.1.4322)
通常称为
用户代理
。我知道它是用户代理。但我希望括号中的信息用分号隔开。我想这就是你所期望的。Re:“括号字段正在客户端计算机上运行?”“用户代理字符串由客户端生成,并作为客户端HTTP请求的一部分(标头)传输到web服务器。用户代理字符串告诉您有关该客户端的一些信息。Re:“以及如何从两个操作系统版本(即2.0和1.1)生成请求。”.NET Framework(1.1、2.0等)不是一个操作系统。NET Framework是一个单独的Windows子系统,您可以同时安装几个主要版本(1.x、2.x、4.x)。如果您需要更多关于.NETFramework是什么的信息,我建议您把它作为一个单独的问题来问。(抱歉,错误地调用.NET作为OS。我知道.NET。我的意思是,特定的请求可能是从.NET的一个版本生成的。所以请注意。这里是括号中的两个.NET版本。那么我们该考虑什么呢?(是的,我可能会问不同的问题,但随着话题的讨论,我会问)无论你考虑一个,两个,或者没有一个。.NET CLR版本显然取决于你想用日志分析找出什么。我建议你问一个新的问题,这与你最初提出的问题完全不同。在小版面(评论部分)回答一系列后续问题。这不是一个好的做法,因为它使其他人很难找到潜在的有价值的信息。
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
User-Agent = product *( RWS ( product / comment ) )