Ведение журнала ошибок в HTTP API-интерфейсов

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 820729
Аннотация
В этой статье описываются возможности ведения журнала ошибок HTTP API-интерфейсов.

Некоторые ошибки, возникающие в приложении на основе HTTP автоматически обрабатываются HTTP API, а не передан обратно в приложение для обработки. Это происходит потому, что частота подобных ошибок в противном случае может переполнить журнал событий или обработчик приложения.

В следующих разделах описываются различные аспекты регистрации ошибок HTTP API.
  • Настройка HTTP API errorlogging
    Регистрирует ошибки реестра параметры управления HTTP API themaximum, разрешено, размер файлов журнала и расположение файлов журнала.
  • Регистрирует формат HTTP APIerror
    HTTP API создает файлы журнала, которые соответствуют соглашениям файл журнала Wide Web Consortium (W3C) точкемира. Можно использовать стандартные средства для анализа этих файлов журнала. Однако в отличие от файлов журнала W3C, файлы журнала HTTP API сделать notcontain имена столбцов.
  • Типы ошибок, которые входит HTTP API
    HTTP API входит множество распространенных ошибок.
Дополнительная информация

Настройка ведения журнала ошибок HTTP API

Для автоматической настройки ведения журнала ошибок HTTP API для вас, перейдите к»Вот простой исправления"раздел. Если вы предпочитаете настроить ведение журнала самостоятельно ошибок HTTP API, перейдите к»Самостоятельное решение проблемы"раздел.

Вот простой исправления

Чтобы устранить проблему автоматически, нажмите кнопку Загрузить. В диалоговом окне Загрузка файла нажмите кнопку выполнить или Открыть, а затем следуйте указаниям мастера простого решения.
  • Этот мастер может быть только на английском языке. Однако автоматическое исправление также работает для других языковых версий Windows.
  • Если вы не на компьютере, который имеет проблемы, сохраните решение легкого исправления на флэш-накопитель или компакт-диск и запустите его на нужном компьютере.
Отключить ведение журнала ошибок HTTP API
Включить ведение журнала ошибок HTTP API

Самостоятельное решение проблемы

Три значения реестра в разделе HTTP \Parameters управления ведения журнала ошибок HTTP API. Эти ключи находятся в следующем разделе реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Примечание Расположение и форма значения конфигурации могут быть изменены в более поздних версиях операционной системы Windows.

Необходимо иметь учетные данные администратора и локальной системы для изменения значений реестра, просматривать и изменять файлы журнала и содержащей их папки.

Сведения о конфигурации в реестре значения считываются при запуске драйвера HTTP API. Таким образом Если изменить параметры, необходимо остановить и перезапустить драйвер для считывания новых значений. Для этого введите следующие команды консоли:
net stop http
net start http
Для имен файлов журнала используется следующее соглашение об именах:
httperr + Порядковый номер + .log
Пример: httperr4.log
Файлы журналов выключения и повторного включения при достижении максимального размера, задающее значение параметра реестра ErrorLogFileTruncateSize . Это значение не может быть меньше, чем один мегабайт (МБ).

Если конфигурацию ведения журнала ошибок не является допустимым, или при возникновении сбоя во время записи в файлы журнала HTTP API HTTP API использует ведение журнала событий для уведомления администраторов, что ведение журнала ошибок не возникает.

В следующей таблице описаны параметры конфигурации реестра.
Значение реестраОписание
EnableErrorLoggingЗначение параметра DWORD что можно установить значение TRUE для включения ведения журнала ошибок или значение FALSE для ее отключения. Значение по умолчанию равно TRUE.
ErrorLogFileTruncateSizeDWORD , указывающее максимальный размер файла журнала ошибок в байтах. Значение по умолчанию — 1 МБ (0x100000).

Примечание Указанное значение не может быть меньше, чем значение по умолчанию.
ErrorLoggingDirСтрока , которая задает папку, который помещает его файлов журнала HTTP API.

HTTP API создает вложенную папку HTTPERR в указанной папке и затем сохраняет файлы журнала в папке. В этой папке и файлы журналов получают настройки разрешений. Администратору и локальным системным учетным записям имеют полный доступ. Другие пользователи не имеют доступа.

Ниже приведен папка по умолчанию Если папка не указана в реестре.
%SystemRoot%\system32\LogFiles

Примечание Строковое значение ErrorLoggingDir должно быть полный локальный путь. Тем не менее он может содержать % SystemRoot %. Нельзя использовать сетевой диск или общий сетевой ресурс.

к началу статьи

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

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

В следующей таблице приведены поля и порядок полей в журнал записи об ошибке.
ПолеОписание
ДатаВ поле Дата соответствует формату W3C. Это поле базируется на всеобщее скоординированное время (UTC). Поле Дата всегда будет 10 символов в формате гггг-мм-дд. 1 мая 2003 г., например, выражается как 2003-05-01.
ВремяПоле время соответствует формату W3C. Это поле базируется на UTC. Поле время всегда составляет восемь символов в форме MM:HH:SS. Например 5:30 PM (UTC) выражается как 17:30:00.
IP-адрес клиентаIP-адрес уязвимый клиент. Значение в этом поле может быть адрес IPv4 или IPv6-адрес. Если клиент IP-адрес — это адрес IPv6, поле ScopeId также включается в адрес.
Порт клиентаНомер порта для уязвимый клиент.
IP-адрес сервераIP-адрес сервера. Значение в этом поле может быть адрес IPv4 или IPv6-адрес. Если IP-адрес сервера — это адрес IPv6, поле ScopeId также включается в адрес.
Порт сервераНомер порта сервера.
Версия протоколаВерсия протокола, который используется.

Если подключение не был разобран достаточно узнать, используется версия протокола, дефиса (0x002D) используется в качестве placeholderfor пустое поле.

Если основной номер версии и дополнительного номера версии, анализе isgreater чем или равно 10, версию вошел как HTTP /?.?.
КомандаСостояние команды, последний запрос, разбор этапов. Неизвестные команды включены, но все команды, которая превышает 255 байт усекается до этой длины. Если команда недоступна, дефиса (0x002D) используется в качестве заполнителя для пустого поля.
CookedURL + запросаURL-адрес и любой запрос, связанный с ним регистрируются как одно поле, разделенные знаком вопроса (0x3F). В этом поле обрезается до его длину 4 096 байт.

Если этот URL-адрес был проанализирован («cooked»), он вошел с локальной кодовой странице преобразования и рассматривается как поле Юникода.

Если этот URL-адрес не был разобран ("cooked") на thetime ведения журнала, она копируется полностью, без преобразования в формат Юникод.

Если HTTP API не удается обработать этот URL-адрес, hyphen(0x002D) используется как заполнитель для пустого поля.
Состояние протоколаСостояние протокола не может быть больше 999.

Если состояние протокола ответа requestis доступен, он вошел это поле.

Если состояние протокола недоступно, hyphen(0x002D) используется как заполнитель для пустого поля.
SiteIdНе используется в этой версии HTTP API. В этом поле всегда отображается местозаполнитель дефиса (0x002D).
Причина фразыЭто поле содержит строку, которая определяет тип, регистрируется ошибка. Это поле не пустое.
Имя очередиЭто имя очереди запросов.
Приведенный ниже пример, в журнал ошибок HTTP API:
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
к началу статьи

Виды ошибок, которые входит HTTP API

HTTP API занесение в журнал сообщений об ошибках для клиентов, время ожидания подключения, потерянных запросов и удаленных подключений, которые будут обрабатываться неправильно.

В следующем списке перечислены виды ошибок, которые входит HTTP API:
  • Ответы для клиентов HTTP API возвращает сообщение об ошибке на клиентском компьютере, например, 400 ошибку, вызванную ошибку синтаксического анализа последний полученный запрос. После HTTP API возвращает сообщение об ошибке, подключение закрывается.
  • Время ожидания подключения HTTP API тайм-аут соединения. Если запрос находится в состоянии ожидания таймаут выполнявшегося подключения, запрос используется для получения дополнительных сведений о theconnection в журнале ошибок.
  • Запросы связи Процесс пользовательского режима неустранимой ошибки во время остается в очереди запросы, которые маршрутизируются на этот процесс. В журнале ошибок HTTP API входит потерянных запросов.
Типы ошибки обозначаются строки Фразу причины , которые всегда отображаются как последнее поле каждой строки ошибки. В следующей таблице указаны фразы причины HTTP API.
Причина фразыОписание

AppOfflineСлужба недоступна ошибка (Ошибка HTTP 503). Служба недоступна из-за ошибки приложения привело в автономном режиме.
AppPoolTimerСлужба недоступна ошибка (Ошибка HTTP 503). Служба недоступна из-за слишком занят, чтобы обработать запрос процесса пула приложений.
AppShutdownСлужба недоступна ошибка (Ошибка HTTP 503). Служба недоступна, так как приложения автоматически закрываются в ответ политики администратора.
BadRequestПри обработке запроса произошла ошибка синтаксического анализа.
Client_ResetПодключение между клиентом и сервером было закрыто до запроса может быть назначен рабочий процесс. Наиболее распространенной причиной такого поведения является то, что клиент преждевременно закрывает подключение к серверу.
Connection_Abandoned_By_AppPoolРабочий процесс из пула приложения неожиданно или потерянные ожидающий запрос, закрыв его дескриптор.
Connection_Abandoned_By_ReqQueueРабочий процесс из пула приложения неожиданно или потерянные ожидающий запрос, закрыв его дескриптор. Специфичные для Windows Vista и более поздних версий и Windows Server 2008 и более поздних версий.
Connection_DroppedПрежде чем сервер может отправить пакет окончательного ответа закрыто подключение между клиентом и сервером. Наиболее распространенной причиной такого поведения является то, что клиент преждевременно закрывает подключение к серверу.
Connection_Dropped_List_FullПолный список сброшенных подключений между клиентами и сервером. Специфичные для Windows Vista и более поздних версий и Windows Server 2008 и более поздних версий.
ConnLimitСлужба недоступна ошибка (Ошибка HTTP 503). Служба недоступна, поскольку достиг или превысил предел уровня подключения веб-узла.
Connections_RefusedОпустилась ниже 20 МБ памяти NonPagedPool ядра и http.sys прекратил прием новых подключений
ОтключенСлужба недоступна ошибка (Ошибка HTTP 503). Служба недоступна, поскольку администратор автономный приложения.
EntityTooLargeСущность превышен максимальный разрешенный размер.
FieldLengthПревышено ограничение длины поля.
ЗапрещеноЗапрещенное элементом или последовательность была обнаружена во время синтаксического анализа.
ЗаголовокОшибка синтаксического анализа в заголовке.
Имя узлаОшибка синтаксического анализа при обработке имени хоста.
ВнутреннийВнутренняя ошибка сервера (Ошибка HTTP 500).
Invalid_CR/LFПроизошло недопустимое каретки или перевода строки.
LengthRequiredТребуемая длина значение отсутствует.
Н/ДСлужба недоступна ошибка (Ошибка HTTP 503). Служба недоступна из-за внутренней ошибки (ошибка при выделении памяти или конфликт список резервирования URL-адресов).
N / IНе реализовано ошибка (Ошибка HTTP 501) или служба недоступна ошибка (Ошибка HTTP 503) из-за неизвестного кодировки передачи.
NumberПри обработке нескольких произошла ошибка синтаксического анализа.
Предварительное условиеОбязательным условием отсутствует.
QueueFullСлужба недоступна ошибка (Ошибка HTTP 503). Служба недоступна из-за заполнения очереди запросов приложения.
RequestLengthПревышено ограничение на длину запроса.
Timer_AppPoolИстек срок действия подключения, так как запрос находился в очереди пула приложения для серверного приложения снимите очереди и обрабатывать его слишком долго. Продолжительность времени ожидания составляет ConnectionTimeout. По умолчанию это значение устанавливается в течение двух минут.
Timer_ConnectionIdleПодключение истек и остается простоя. Продолжительность ConnectionTimeout по умолчанию — две минуты.
Timer_EntityBodyИстек срок действия подключения, до прибытия тело сущности запроса. Когда запрос ясно имеет тело сущности, HTTP API включает таймер Timer_EntityBody . В первую очередь ограничение этого таймера задается значение ConnectionTimeout (как правило, две минуты). Каждый раз, когда на этот запрос получен, другой индикатор данных, HTTP API сбрасывается для подключения двух дополнительных минут (или все, что указано в ConnectionTimeout).
Timer_HeaderWaitИстек срок действия подключения, поскольку заголовок при анализе запроса заняло больше времени, чем ограничение по умолчанию в две минуты.
Timer_MinBytesPerSecondИстек срок действия подключения, так как клиент был не получил ответа с достаточной скоростью. Скорость отправки ответа был медленнее, чем по умолчанию 240 байт/сек. Это можно контролировать с помощью свойства метабазы MinFileBytesPerSec .
Timer_ReqQueueИстек срок действия подключения, поскольку запрос находился в очереди пула приложения для серверного приложения в очередь снимите слишком долго. Продолжительность времени ожидания составляет ConnectionTimeout. По умолчанию это значение устанавливается в течение двух минут. Специфичные для Windows Vista и более поздних версий и Windows Server 2008 и более поздних версий.
Timer_ResponseЗарезервировано. В настоящее время не используется.
Timer_SslRenegotiationИстек срок действия подключения, так как было превышено время ожидания по умолчанию равно двум минутам повторное согласование SSL между клиентом и сервером.
URL-АДРЕСОшибка синтаксического анализа при обработке URL-адреса.
URL_LengthURL-адреса превышает максимально разрешенный размер.
КомандаПри обработке команды произошла ошибка синтаксического анализа.
Version_N/SВерсия не поддерживается ошибка (Ошибка HTTP 505).

к началу статьи
Ссылки
Дополнительные сведения о добавлении полей дополнительное ведение журнала для ведения журнала ошибок протокола HTTP в IIS щелкните следующий номер статьи базы знаний Майкрософт:
832975 Дополнительные свойства доступны для ведения журнала в файле Httperr # .log в IIS 6.0 и IIS 7.0
fixme проблему решить

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 820729 — последний просмотр: 03/08/2016 04:57:00 — редакция: 8.0

Windows Server 2008 R2 Standard, Windows Server 2008 R2 Enterprise, Windows Server 2008 Enterprise, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 for Embedded Systems, Windows Server 2012 R2 Foundation, Windows Server 2012 Standard, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows 10, Windows 10 Enterprise, released in July 2015, Windows 10 Pro, released in July 2015, Windows 10 Version 1511, Windows 8.1, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows 8, Windows 8 Pro, Windows 8 Enterprise, Windows 7 Профессиональная, Windows 7 Корпоративная

  • kbhttphandlers kbhttp kbapi kberrmsg kbinfo kbfixme kbmsifixme kbmt KB820729 KbMtru
Отзывы и предложения