Format der Fehlerprotokolle der HTTP-Server-API

Im Allgemeinen haben Fehlerprotokolldateien der HTTP Server-API das gleiche Format wie W3C-Fehlerprotokolle, mit der Ausnahme, dass Fehlerprotokolldateien der HTTP-Server-API 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 0x0020. In jedem Feld werden Leerzeichen, Registerkarten und nicht druckbare Steuerzeichen durch Pluszeichen (0x002B.

In der folgenden Tabelle sind die Felder und die Reihenfolge der Felder in einem Fehlerprotokolldatensatz aufgeführt.

Feld BESCHREIBUNG
Datum
Das Feld Date folgt dem W3C-Format und basiert auf koordinierte Weltzeit (UTC). Das Datumsfeld besteht immer aus 10 Zeichen in Form von "YYYY-MM-DD". 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 besteht immer aus 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 kann. Wenn es sich bei der Client-IP-Adresse um eine IPv6-Adresse handelt, ist auch das Feld ScopeId in der Adresse enthalten.
Clientport
Die Portnummer für den betroffenen Client.
Server-IP-Adresse
Die IP-Adresse des betroffenen Servers, die entweder eine IPv4-Adresse oder eine IPv6-Adresse sein kann. Wenn die IP-Adresse des Servers eine IPv6-Adresse ist, ist auch das Feld ScopeId in der Adresse enthalten.
Serverport
Die Portnummer des betroffenen Servers.
Protokollversion
Die Version des protokolls, das verwendet wird.
  • Wenn die Verbindung nicht genug analysiert wurde, um die Protokollversion zu bestimmen, 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 Verbzustand, der von der zuletzt analysierten Anforderung übergeben wurde. Unbekannte Verben sind enthalten, aber alle Verben, die mehr als 255 Bytes umfassen, werden auf diese Länge abgeschnitten. Wenn ein Verb nicht verfügbar ist, wird ein Bindestrich (0x002D) als Platzhalter für das leere Feld verwendet.
ZeichenfolgeURL + Abfrage
Die URL und alle damit verbundenen Abfragen werden als ein Feld protokolliert, getrennt durch ein Fragezeichen (0x3F). Dieses Feld wird mit einem Längenlimit von 4.096 Bytes abgeschnitten.
  • Wenn diese URL analysiert wurde ("Ehrung"), wird sie mit der Konvertierung der lokalen Codepage protokolliert und als Unicode-Feld behandelt.
  • Wenn diese URL zum Zeitpunkt der Protokollierung nicht analysiert wurde ("Ehrung"), 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 er 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. Ein Platzhalter bindestrich (0x002D) wird immer in diesem Feld angezeigt.
Grundbegriff
Dieses Feld enthält eine Zeichenfolge, die die Art des protokollierten Fehlers identifiziert. Sie wird nie leer gelassen.

Die folgenden Beispielzeilen sind 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