Поделиться через


Формат журналов ошибок API HTTP-сервера

Как правило, файлы журнала ошибок API HTTP-сервера имеют тот же формат, что и журналы ошибок W3C, за исключением того, что файлы журнала ошибок API HTTP-сервера не содержат заголовки столбцов. Каждая строка журнала ошибок API HTTP-сервера записывает одну ошибку с полями в определенном порядке. Каждое поле отделяется от предыдущего поля одним символом пробела (0x0020). В каждом поле символы пробела, вкладки и неподпечатываемые символы элементов управления заменяются знаками плюса (0x002B).

В следующей таблице указаны поля и порядок полей в записи журнала ошибок.

Поле Описание
Дата
Поле Date следует формату W3C и основано на формате UTC. Поле "Дата" всегда составляет 10 символов в виде "ГГГГ-ММ-ДД". Например, 1 мая 2003 года выражается как "2003-05-01".
время
Поле времени следует формату W3C и основано на формате UTC. Поле времени всегда составляет 8 символов в виде "MM:HH:SS". Например, 5:30 (UTC) выражается как "17:30:00".
IP-адрес клиента
IP-адрес затронутого клиента, который может быть ip-адресом IPv4 или IPv6-адресом. Если IP-адрес клиента является IPv6-адресом, поле ScopeId также включается в адрес.
порт клиента
Номер порта для затронутого клиента.
IP-адрес сервера
IP-адрес затронутого сервера, который может быть ip-адресом IPv4 или IPv6-адресом. Если IP-адрес сервера является IPv6-адресом, поле ScopeId также включается в адрес.
Порт сервера
Номер порта затронутого сервера.
версия протокола
Версия используемого протокола.
  • Если подключение не было проанализировано достаточно, чтобы определить версию протокола, дефис (0x002D) используется в качестве заполнителя для пустого поля.
  • Если синтаксический или дополнительный номер версии больше или равен 10, версия регистрируется как HTTP/?.?.
команда
Состояние команды, переданное последним анализом запроса. Неизвестные команды включены, но любая команда, которая превышает 255 байт, усечена до этой длины. Если команда недоступна, дефис (0x002D) используется в качестве заполнителя пустого поля.
CookedURL + Query
URL-адрес и любой запрос, связанный с ним, регистрируются как одно поле, разделенное вопросительным знаком (0x3F). Это поле усечено в пределе длины 4096 байт.
  • Если этот URL-адрес был проанализирован ("приготовлен"), он регистрируется с преобразованием локальной кодовой страницы и обрабатывается как поле Юникода.
  • Если этот URL-адрес не был проанализирован ("приготовлен") во время ведения журнала, он копируется точно без преобразования Юникода.
  • Если API HTTP-сервера не может проанализировать этот URL-адрес, дефис (0x002D) используется в качестве заполнителя для пустого поля.

Состояние протокола
Состояние протокола не может превышать 999.
  • Если доступно состояние протокола ответа на запрос, он регистрируется в этом поле.
  • Если состояние протокола недоступно, дефис (0x002D) используется в качестве заполнителя пустого поля.
SiteId
Не используется в этой версии API HTTP-сервера. В этом поле всегда отображается дефис заполнителя (0x002D).
Фраза причины
Это поле содержит строку, которая определяет тип ошибки, регистрируемого. Он никогда не остается пустым.

Ниже приведены примеры строк из журнала ошибок API HTTP-сервера:

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