Freigeben über


W3C-Protokollierung

Die erweiterte W3C-Protokollierung ist der Typ der serverseitigen Protokollierung, die in der Serversitzung oder URL-Gruppe aktiviert werden kann. Wenn die W3C-Protokollierung für eine URL-Gruppe aktiviert ist, wird die Protokollierung nur für Anforderungen ausgeführt, die an die URL-Gruppe weitergeleitet werden. Für jede URL-Gruppe, die für die Aktivierung der W3C-Protokollierung konfiguriert ist, wird eine separate Protokolldatei erstellt.

Wenn die W3C-Protokollierung in der Serversitzung aktiviert ist, fungiert sie als zentrale Form der Protokollierung für alle URL-Gruppen unter der Serversitzung. Eine einzelne Protokolldatei wird für alle URL-Gruppen in der Serversitzung verwaltet.

In der folgenden Tabelle sind die Felder aufgeführt, die von der HTTP-Server-API protokolliert werden können. Die Tabelle enthält eine Teilmenge der HTTP_LOG_FIELD Konstanten. Einige der unten aufgeführten Felder werden intern von der HTTP-Server-API generiert und daher nicht in der HTTP_LOG_FIELDS_DATA Struktur enthalten. Die Spalte "Erscheint als" enthält den Text, der in der Protokolldatei angezeigt wird. Die Daten in der Tabelle befinden sich in der Reihenfolge des Vorkommens im Protokolldateidatensatz.

Felder, die nicht als "HTTP Server-API generiert" gekennzeichnet sind, müssen innerhalb HTTP_LOG_FIELDS_DATA Struktur nach Anwendung übergeben werden. Die Anwendung kann diese Felder aus der HTTP_REQUEST Struktur generieren, die an sie übergeben wird.

Feld Wird angezeigt als Beschreibung HTTP_LOG_FIELDS_DATA Mitglied HTTP_LOG_FIELDS Konstanten
Datum Datum Das Datum, an dem die Aktivität aufgetreten ist. HTTP-Server-API generiert. HTTP_LOG_FIELD_DATE
Zeit Zeit Die Zeit, in koordinierter Weltzeit (UTC), an der die Aktivität stattgefunden hat. HTTP-Server-API generiert. HTTP_LOG_FIELD_TIME
Dienstname und Instanznummer s-sitename Der Name und die Instanznummer des Internetdiensts, die auf dem Client ausgeführt wurde. ServiceName HTTP_LOG_FIELD_SITE_NAME
Servername s-computername Der Name des Servers, auf dem der Protokolldateieintrag generiert wurde. ServerName HTTP_LOG_FIELD_COMPUTER_NAME
Server-IP-Adresse s-ip Die IP-Adresse des Servers, auf dem der Protokolldateieintrag generiert wurde. ServerIp HTTP_LOG_FIELD_SERVER_IP
Methode cs-method Das angeforderte Verb, z. B. eine GET-Methode. Methode HTTP_LOG_FIELD_METHOD
URI-Stamm cs-uri-stem Das Ziel des Verbs, z. B. Default.htm. UriStem HTTP_LOG_FIELD_URI_STEM
URI-Abfrage cs-uri-query Die Abfrage, falls vorhanden, die der Client auszuführen versucht hat. Eine URI-Abfrage (Universal Resource Identifier) ist nur für dynamische Seiten erforderlich. UriQuery HTTP_LOG_FIELD_URI_QUERY
Serverport s-port Die Serverportnummer, die für den Dienst konfiguriert ist. ServerPort HTTP_LOG_FIELD_SERVER_PORT
Benutzername cs-username Der Name des authentifizierten Benutzers, der auf den Server zugegriffen hat. Anonyme Benutzer werden durch einen Bindestrich gekennzeichnet. Nutzername HTTP_LOG_FIELD_USER_NAME
Client-IP-Adresse c-ip Die IP-Adresse des Clients, der die Anforderung gestellt hat. ClientIp HTTP_LOG_FIELD_CLIENT_IP
Protokollversion cs-version Die HTTP-Protokollversion, die der Client verwendet hat. HTTP-Server-API generiert. HTTP_LOG_FIELD_VERSION
Benutzer-Agent cs(User-Agent) Der Browsertyp, den der Client verwendet hat. UserAgent HTTP_LOG_FIELD_USER_AGENT
Keks cs(Cookie) Der Inhalt des gesendeten oder empfangenen Cookies, falls vorhanden. Keks HTTP_LOG_FIELD_COOKIE
Referrer cs(Referrer) Die Website, die der Benutzer zuletzt besucht hat. Diese Website hat einen Link zur aktuellen Website bereitgestellt. Referrer HTTP_LOG_FIELD_REFERRER
Gastgeber cs-host Der Hostheadername( falls vorhanden). Gastgeber HTTP_LOG_FIELD_HOST
HTTP-Status sc-status Der HTTP-Statuscode. ProtocolStatus HTTP_LOG_FIELD_STATUS
Protokollunterstatus sc-substatus Der Fehlercode für den Unterstatus. SubStatus HTTP_LOG_FIELD_SUB_STATUS
Win32-Status sc-win32-status Der Windows-Statuscode. Win32Status HTTP_LOG_FIELD_WIN32_STATUS
Gesendete Bytes sc-bytes Die Anzahl der vom Server gesendeten Bytes. HTTP-Server-API generiert. HTTP_LOG_FIELD_BYTES_SENT
Empfangene Bytes cs-bytes Die Anzahl der vom Server empfangenen und verarbeiteten Bytes. HTTP-Server-API generiert. HTTP_LOG_FIELD_BYTES_RECV
Benötigte Zeit Zeitaufwand Die Zeitspanne, die die Aktion in Millisekunden ausgeführt hat. HTTP-Server-API generiert. HTTP_LOG_FIELD_TIME_TAKEN
Stream-ID streamid Die Stream-ID. HTTP-Server-API generiert. HTTP_LOG_FIELD_STREAM_ID

 

Die Protokolldatei ist ein anpassbares ASCII-textbasiertes Format. Die Feldpräfixe in der Datei werden wie folgt definiert:

Präfix Beschreibung
s Serveraktionen.
c Clientaktionen.
sc Server-zu-Client-Aktionen.
Cs Client-zu-Server-Aktionen.

 

Die Anwendung kann ein oder mehrere der Erweiterten W3C-Protokolldateifelder auswählen, jedoch enthalten nicht alle Felder Informationen. Bei Feldern, die ausgewählt sind, aber keine Informationen vorhanden sind, wird ein Bindestrich (-) als Platzhalter angezeigt. Wenn ein Feld ein nicht druckbares Zeichen enthält, ersetzt die HTTP-Server-API es durch ein Pluszeichen (+), um das Protokolldateiformat beizubehalten. Dies tritt in der Regel bei Virenangriffen auf, wenn beispielsweise ein böswilliger Benutzer Wagenrückgänge und Zeilenfeeds sendet, die, wenn nicht durch das Pluszeichen (+) ersetzt, das Protokolldateiformat unterbrechen würde. Felder werden durch Leerzeichen getrennt.

Wenn ein Feld von der URL-Gruppe oder Serversitzung aktiviert, aber nicht für die Anforderung ausgewählt ist, wird es in der Protokolldatei mit einem Bindestrich (-) als Platzhalter angezeigt.

Protokolldateien werden erstellt, wenn die erste Anforderung in der URL-Gruppe oder Serversitzung eingeht, sie werden nicht erstellt, wenn die Protokollierung konfiguriert ist. Das folgende Beispiel zeigt den ersten Protokolldateieintrag für eine W3C-Protokolldatei mit aktivierten Feldern "Client-IP", "Benutzername", "Server-IP", "Serverport", "Methode", "URI-Stamm", "URI-Abfrage", "Status" und "Benutzer-Agent":

#Software: Microsoft HTTP Server API 2.0  
#Version: 1.0   // the log file version as it's described by "https://www.w3.org/TR/WD-logfile".
#Date: 2002-05-02 17:42:15  // when the first log file entry was recorded, which is when the entire log file was created.
#Fields: date time c-ip cs-username s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status cs(User-Agent)
2002-05-02 17:42:15 172.22.255.255 - 172.30.255.255 80 GET /images/picture.jpg - 200 Mozilla/4.0+(compatible;MSIE+5.5;+Windows+2000+Server)

Das zeitgesteuerte Feld wird initialisiert, wenn die HTTP-Server-API das erste Byte empfängt, bevor die Anforderung analysiert wird. Der zeitaufwendige Zeitstempel wird beendet, wenn der letzte Sendeabschluss erfolgt. Zeitaufwand spiegelt keine Zeit im gesamten Netzwerk wider. Die erste Anforderung an die Website zeigt eine etwas längere Zeit als andere ähnliche Anforderungen, da die HTTP-Server-API die Protokolldatei mit der ersten Anforderung öffnet.