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


структура HTTP_LOG_FIELDS_DATA (http.h)

Структура HTTP_LOG_FIELDS_DATA используется для передачи полей, которые регистрируются в http-ответе, если включено ведение журнала WC3.

Синтаксис

typedef struct _HTTP_LOG_FIELDS_DATA {
  HTTP_LOG_DATA Base;
  USHORT        UserNameLength;
  USHORT        UriStemLength;
  USHORT        ClientIpLength;
  USHORT        ServerNameLength;
  USHORT        ServiceNameLength;
  USHORT        ServerIpLength;
  USHORT        MethodLength;
  USHORT        UriQueryLength;
  USHORT        HostLength;
  USHORT        UserAgentLength;
  USHORT        CookieLength;
  USHORT        ReferrerLength;
  PWCHAR        UserName;
  PWCHAR        UriStem;
  PCHAR         ClientIp;
  PCHAR         ServerName;
  PCHAR         ServiceName;
  PCHAR         ServerIp;
  PCHAR         Method;
  PCHAR         UriQuery;
  PCHAR         Host;
  PCHAR         UserAgent;
  PCHAR         Cookie;
  PCHAR         Referrer;
  USHORT        ServerPort;
  USHORT        ProtocolStatus;
  ULONG         Win32Status;
  HTTP_VERB     MethodNum;
  USHORT        SubStatus;
} HTTP_LOG_FIELDS_DATA, *PHTTP_LOG_FIELDS_DATA;

Члены

Base

Инициализируйте этот элемент значением HttpLogDataTypeFields перечисления HTTP_LOG_DATA_TYPE .

UserNameLength

Размер элемента имени пользователя (в байтах).

UriStemLength

Размер элемента ствола URI (в байтах).

ClientIpLength

Размер элемента IP-адреса клиента (в байтах).

ServerNameLength

Размер элемента имени сервера (в байтах).

ServiceNameLength

ServerIpLength

Размер элемента IP-адреса сервера (в байтах).

MethodLength

Размер (в байтах) члена метода HTTP.

UriQueryLength

Размер элемента запроса URI (в байтах).

HostLength

Размер элемента имени узла (в байтах).

UserAgentLength

Размер (в байтах) элемента агента пользователя.

CookieLength

Размер (в байтах) члена файла cookie.

ReferrerLength

Размер элемента ссылающегося элемента (в байтах).

UserName

Имя пользователя.

UriStem

Ствол URI.

ClientIp

IP-адрес узла клиента.

ServerName

Имя сервера.

ServiceName

Имя службы.

ServerIp

IP-адрес сервера.

Method

Метод HTTP.

UriQuery

Запрос URI.

Host

Сведения об узле из запроса.

UserAgent

Имя агента пользователя.

Cookie

Файл cookie, предоставляемый приложением.

Referrer

Ссылка.

ServerPort

Порт сервера.

ProtocolStatus

Состояние протокола.

Win32Status

Состояние win32.

MethodNum

Номер метода.

SubStatus

Вложенного состояния.

Комментарии

Структура HTTP_LOG_FIELDS_DATA является необязательным параметром (pLogData) в функциях HttpSendResponseEntityBody и HttpSendHttpResponse , начиная с API HTTP версии 2.0. Структура HTTP_LOG_FIELDS_DATA указывает, какие поля регистрируются в ответе.

Если эта структура не передана, ответ не будет регистрироваться, даже если свойство ведения журнала сервера задано для группы URL-адресов или сеанса сервера. Запросы не регистрируются, если приложение не передает структуру HTTP_LOG_FIELDS_DATA с каждым ответом, а свойство ведения журнала задано в сеансе сервера или группе URL-адресов. Большинство полей в структуре HTTP_LOG_FIELDS_DATA можно инициализировать из соответствующего поля в структуре HTTP_REQUEST , однако некоторые поля журнала известны только приложению; Например, Win32Status и SubStatus. Эта структура позволяет приложениям изменять регистрированные поля. Приложение передает нулевой указатель и нулевую длину для соответствующего члена, чтобы отключить ведение журнала для этого поля.

Приложения должны предоставлять структуру HTTP_LOG_FIELDS_DATA при последнем вызове отправки. Если ответ отправляется с одним вызовом HttpSendHttpResponse, данные журнала должны быть предоставлены в этом вызове. Если ответ отправляется через несколько вызовов отправки, данные должны быть предоставлены при последнем вызове HttpSendResponseEntityBody.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть http.h

См. также раздел

Структуры API HTTP-сервера версии 2.0

HTTP_RESPONSE_V1

HTTP_RESPONSE_V2

HttpSendHttpResponse

HttpSendResponseEntityBody