NCSA 扩展日志记录是在 URL 组上启用的一种类型的服务器端日志记录。 NCSA 通用日志文件格式是基于文本的固定 ASCII 格式,无法自定义。 NCSA 日志文件包含 HTTP 服务器 API 内核模式缓存命中数。 只能在 URL 组上启用这种类型的日志记录;它不能用于服务器会话。
NCSA 通用日志文件格式记录以下数据。 表中的数据按日志文件中的出现顺序排列。
| 字段 | 说明 |
|---|---|
| 远程主机地址 | 发出请求的客户端的 IP 地址。 |
| 远程日志名称 | 未使用。 此值始终为连字符。 |
| 用户名 | 访问服务器的经身份验证的用户名。 匿名用户会以连字符表示。 最佳做法是应用程序始终提供用户名。 |
| 日期、时间和格林威治标准时间 (格林尼治标准时间) 偏移量 | 活动发生的本地日期和时间。 还指示了与格林威治平均时间的偏移量。 |
| 请求和协议版本 | 客户端使用的 HTTP 协议版本。 |
| 服务状态代码 | HTTP 状态代码。 (值为 200 表示请求成功完成。) |
| 发送的字节数 | 服务器发送的字节数。 |
并非所有字段都包含信息。 对于没有信息的字段,连字符 () 显示为占位符。 如果字段包含不可打印的字符,HTTP 服务器 API 会将它替换为加号 (+) 以保留日志文件格式。 这通常发生在病毒攻击中,例如,当恶意用户发送回车和换行符时,如果不将其替换为加号 (+) ,则会破坏日志文件的格式。 字段由空格分隔,时间记录为具有 GMT 偏移量的本地时间。
以下示例演示了一个 NCSA 通用日志文件条目,如文本编辑器中所示。
172.21.13.45 - Microsoft\JohnDoe [07/Apr/2004:17:39:04 -0800]
"GET /scripts/iisadmin/ism.dll?http/serv HTTP/1.0" 200 3401
客户端的 IP 地址为 172.21.13.45,用户名为 Microsoft\JohnDoe。 日志记录于当地时间2005年4月7日17:39:04,格林威治偏移量为8小时。 请求谓词和协议版本为“GET /scripts/iisadmin/ism.dll?http/serv HTTP/1.0”。 状态代码为 200 正常,客户端发送的字节数为 3401。