Freigeben über


Format der HTTP-Server-API-Fehlerprotokolle

Im Allgemeinen weisen HTTP Server-API-Fehlerprotokolldateien das gleiche Format wie W3C-Fehlerprotokolle auf, außer dass HTTP Server-API-Fehlerprotokolldateien keine Spaltenüberschriften enthalten. Jede Zeile eines HTTP Server-API-Fehlerprotokolls zeichnet einen Fehler mit Feldern in einer bestimmten Reihenfolge auf. Jedes Feld wird durch ein einzelnes Leerzeichen (0x0020) vom vorherigen Feld getrennt. In jedem Feld werden Leerzeichen, Tabstopps und nicht druckbare Steuerzeichen durch Pluszeichen (0x002B) ersetzt.

In der folgenden Tabelle werden die Felder und die Reihenfolge der Felder in einem Fehlerprotokolldatensatz identifiziert.

Feld Beschreibung
Datum
Das Feld "Datum" folgt dem W3C-Format und basiert auf koordinierter Weltzeit (COORDINATED Universal Time, UTC). Das Feld "Datum" ist immer 10 Zeichen in Form von "JJJJ-MM-TT". Beispielsweise wird der 1. Mai 2003 als "2003-05-01" ausgedrückt.
Zeit
Das Feld "Zeit" folgt dem W3C-Format und basiert auf UTC. Das Zeitfeld ist immer 8 Zeichen in Form von "MM:HH:SS". Beispielsweise wird 17:30:00 Uhr (UTC) als "17:30:00" ausgedrückt.
Client-IP-Adresse
Die IP-Adresse des betroffenen Clients, die entweder eine IPv4-Adresse oder eine IPv6-Adresse sein können. Wenn es sich bei der Client-IP-Adresse um eine IPv6-Adresse handelt, ist das Feld "ScopeId" ebenfalls in der Adresse enthalten.
Clientport
Die Portnummer für den betroffenen Client.
Server-IP-Adresse
Die IP-Adresse des betroffenen Servers, der entweder eine IPv4-Adresse oder eine IPv6-Adresse sein kann. Wenn es sich bei der Server-IP-Adresse um eine IPv6-Adresse handelt, ist das Feld "ScopeId" ebenfalls in der Adresse enthalten.
Serverport
Die Portnummer des betroffenen Servers.
Protokollversion
Die Version des verwendeten Protokolls.
  • Wenn die Verbindung nicht genug analysiert wurde, um die Protokollversion zu ermitteln, wird ein Bindestrich (0x002D) als Platzhalter für das leere Feld verwendet.
  • Wenn die analysierte Haupt- oder Nebenversionsnummer größer oder gleich 10 ist, wird die Version als "HTTP/?.?" protokolliert.
Verb
Der Verbstatus, der von der letzten analysierten Anforderung übergeben wird. Unbekannte Verben sind enthalten, aber jedes Verb, das mehr als 255 Byte ist, wird auf diese Länge abgeschnitten. Wenn kein Verb verfügbar ist, wird ein Bindestrich (0x002D) als Platzhalter für das leere Feld verwendet.
CookedURL + Query
Die URL und alle ihr zugeordneten Abfragen werden als ein Feld protokolliert, getrennt durch ein Fragezeichen (0x3F). Dieses Feld wird an seiner Längengrenze von 4096 Bytes abgeschnitten.
  • Wenn diese URL analysiert wurde ("gekocht"), wird sie mit der Konvertierung der lokalen Codeseite protokolliert und als Unicode-Feld behandelt.
  • Wenn diese URL zum Zeitpunkt der Protokollierung nicht analysiert ("gekocht") wurde, wird sie ohne Unicode-Konvertierung genau kopiert.
  • Wenn die HTTP-Server-API diese URL nicht analysieren kann, wird ein Bindestrich (0x002D) als Platzhalter für das leere Feld verwendet.

Protokollstatus
Der Protokollstatus darf 999 nicht überschreiten.
  • Wenn der Protokollstatus der Antwort auf eine Anforderung verfügbar ist, wird sie in diesem Feld protokolliert.
  • Wenn der Protokollstatus nicht verfügbar ist, wird ein Bindestrich (0x002D) als Platzhalter für das leere Feld verwendet.
SiteId
Wird in dieser Version der HTTP-Server-API nicht verwendet. In diesem Feld wird immer ein Platzhalterbindestrich (0x002D) angezeigt.
Grundausdruck
Dieses Feld enthält eine Zeichenfolge, die die Art des protokollierten Fehlers identifiziert. Es bleibt nie leer.

Die folgenden Beispielzeilen stammen aus einem HTTP Server-API-Fehlerprotokoll:

2002-07-05 18:45:09 172.31.77.6 2094 172.31.77.6 80 
                    HTTP/1.1 GET /qos/1kbfile.txt 503 - ConnLimit
2002-07-05 19:51:59 127.0.0.1 2780 127.0.0.1 80 
                    HTTP/1.1 GET /ThisIsMyUrl.htm 400 - Hostname
2002-07-05 19:53:00 127.0.0.1 2894 127.0.0.1 80 
                    HTTP/2.0 GET / 505 - Version_N/S
2002-07-05 20:06:01 172.31.77.6 64388 127.0.0.1 80 
                    - - - - - Timer_MinBytesPerSecond