美文网首页
日志记录与使用情况跟踪

日志记录与使用情况跟踪

作者: lazy_boy_coder | 来源:发表于2018-05-06 19:27 被阅读0次

前言

几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要。比如:跟踪使用情况,安全性,计费,错误检测,等等。

记录内容

大多数情况下,日志的记录出于两种原因:查找服务器或代理存在的问题(比如,哪些请求失败了),或者是生成Web站点访问方式的统计信息。统计数据对市场营销,计费和容量规划(比如,决定是否需要增加服务器或带宽)都非常有用。
通常,只记录事务的基本信息就行了。通常会记录下来的几个字段示例为:

  • HTTP 方法
  • 客户端和服务器的HTTP版本
  • 所请求资源的URL
  • 相应的状态码
  • 请求和响应报文的尺寸(包含所有的实体主体部分)
  • 事务开始的时间戳
  • Referer 首部和 User-Agent 首部的值
    HTTP方法和URL说明了请求试图做些什么,比如,GET某个资源或POST某个订单。可以用URL来记录Web站点上页面的受欢迎程度。
    版本字符串给出了与客户端和服务器有关的一些提示,在客户端和服务器之间出现的一些比较奇怪或非预期的交互动作时,它会非常有用。比如,如果请求的失败率高于预期,那版本信息指向的可能是一个无法与服务器进行交互的新版浏览器。
    HTTP状态码说明了请求的执行状况:是否成功执行,认证请求是否失败,资源是否找到等。
    请求/响应的大小和时间戳主要用于记账;就是记录流入,流出或流径应用程序的字节有多少。还可用时间戳将观察到的问题与当时发起的一些请求关联起来。
命中率测量

原始服务器通常会出于计费的目的保留详细的日志记录。内容提供者需要知道URL的受访频率,广告商需要知道广告的出现频率,网站作者需要知道所编写内容的受欢迎程度。客户端直接访问Web服务器时,日志记录可以很好的跟踪这些信息。
但是,缓存服务器位于客户端和服务器之间,用于防止服务器同时处理大量访问请求(这正是缓存的目的)。缓存要处理很多HTTP请求,并在不访问原始服务器的情况下满足它们的请求,服务器中没有客户端访问其内容的记录,导致日志文件中出现遗漏。
由于日志记录会遗失,所以,内容提供者会将其最重要的页面进行缓存清除。缓存清除是指内容提供者有意将其某些内容设置为无法缓存,这样,所有对此内容的请求都会被导向原始服务器。于是,原始服务器就可以记录下访问情况了。不使用缓存可能会生成更好的日志,但会减缓原始服务器和网络的请求速度,并增加负荷。
由于代理缓存(及一些客户端)都会保留自己的日志,所以如果服务器能够访问这些日志(或者至少有一种错略的方式可以判断代理缓存会以怎样的频率提供其内容),就可以避免使用缓存清除。命中率测量协议是对HTTP的一种扩展,它为这个问题提供了一种解决方案。命中率测量协议要求缓存周期性的向原始服务器汇报缓存访问的统计数据。

关于隐私的考虑

日志记录实际上就是服务器和代理执行的一项管理功能,所以整个操作系统对用户来说都是透明的。通常,用户甚至都不清楚他们的HTTP事务已被记录,实际上,很多用户可能甚至都不知道它们访问Web上的内容是在使用HTTP协议。
Web应用程序的开发者和管理者要清楚跟踪用户的HTTP事务可能带来的影响。他可以根据获取的信息收集很多有关用户的情况。很显然,这些信息可以用于不良目的,歧视,骚然,勒索等。进行日志记录的Web服务器和代理一定要注意保护其终端用户的隐私。

相关文章

  • 日志记录与使用情况跟踪

    前言 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要。比如:跟踪使用情况,安全性,计费,错误检测,等...

  • 日志记录——logging模块

    Logging:日志记录是为了跟踪记录软件运行时,发生的事件,包括出错,提示信息等等。log日志级别:日志级别大小...

  • 腾讯bugly

    目前市面上Android应用都会跟踪用户使用情况,不断优化使用体验 常用到一个错误日志统计工具:bugly接下来记...

  • 19-03 Adaptive AUTOSAR 架构概述(16)-

    16 日志跟踪 16.1 概述 日志跟踪功能集合负责管理和装配AUTOSAR Adaptive 平台的日志功能。平...

  • python的日志处理

    日志记录是一种记录软件运行时发生的事件的方法。软件开发人员将日志记录调用添加到他们的代码中用来跟踪和记录事件。事件...

  • Java主流日志工具库详解

    概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。在Java世界,有很多的日志工具库来实现日志...

  • 细说 Java 主流日志工具库

    在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。在 Java 世界,有很多的日志工具库来实现日志功...

  • 番外 03:Java日志框架引入 log4j2(Log For

    前景概要 不管是做什么项目,日志都是不可或缺的 跟踪代码执行过程 跟踪错误 记录重要操作 而log4j 是功能最强...

  • oracle跟踪事件(dump)总结

    一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期...

  • 02-monolog - PHP 日志神器 之 Handlers

    Handlers 记录日志到文件与系统日志(syslog) StreamHandler:记录日志到任何 PHP s...

网友评论

      本文标题:日志记录与使用情况跟踪

      本文链接:https://www.haomeiwen.com/subject/iupurftx.html