Freigeben über


Format der HTTP-Server-API-Fehlerprotokolle

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

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

Feld BESCHREIBUNG
Datum
Das Feld Datum folgt dem W3C-Format und basiert auf koordinierter Weltzeit (UTC). Das Datumsfeld besteht immer aus 10 Zeichen in der Form "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 besteht immer aus 8 Zeichen in Form von "MM:HH:SS". Beispielsweise wird 17:30 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 es sich bei der Server-IP-Adresse um eine IPv6-Adresse handelt, ist auch das Feld ScopeId 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 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 letzten analysierten Anforderung übergeben wurde. Unbekannte Verben sind enthalten, aber jedes Verb, das mehr als 255 Bytes 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 + Abfrage
Die URL und alle ihr zugeordneten Abfragen werden als ein Feld getrennt durch ein Fragezeichen (0x3F) protokolliert. Dieses Feld wird mit seiner Längengrenze von 4096 Bytes abgeschnitten.
  • Wenn diese URL analysiert ("gekocht") wurde, wird sie mit der lokalen Codepagekonvertierung 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
Das Protokoll status darf 999 nicht überschreiten.
  • Wenn das Protokoll status der Antwort auf eine Anforderung verfügbar ist, wird es in diesem Feld protokolliert.
  • Wenn das Protokoll status 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.
Grundbegriff
Dieses Feld enthält eine Zeichenfolge, die die Art des protokollierten Fehlers identifiziert. Sie wird nie leer gelassen.

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