HTTP_LOG_FIELDS_DATA 구조체(http.h)

HTTP_LOG_FIELDS_DATA 구조체는 WC3 로깅을 사용할 때 HTTP 응답에 대해 기록되는 필드를 전달하는 데 사용됩니다.

구문

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

이 멤버를 HTTP_LOG_DATA_TYPE 열거형의 HttpLogDataTypeFields 값으로 초기화합니다.

UserNameLength

사용자 이름 멤버의 크기(바이트)입니다.

UriStemLength

URI 줄기 멤버의 크기(바이트)입니다.

ClientIpLength

클라이언트 IP 주소 멤버의 크기(바이트)입니다.

ServerNameLength

서버 이름 멤버의 크기(바이트)입니다.

ServiceNameLength

ServerIpLength

서버 IP 주소 멤버의 크기(바이트)입니다.

MethodLength

HTTP 메서드 멤버의 크기(바이트)입니다.

UriQueryLength

URI 쿼리 멤버의 크기(바이트)입니다.

HostLength

호스트 이름 멤버의 크기(바이트)입니다.

UserAgentLength

사용자 에이전트 멤버의 크기(바이트)입니다.

CookieLength

쿠키 멤버의 크기(바이트)입니다.

ReferrerLength

참조자 멤버의 크기(바이트)입니다.

UserName

사용자의 이름입니다.

UriStem

URI 줄기입니다.

ClientIp

클라이언트의 IP 주소입니다.

ServerName

서버의 이름입니다.

ServiceName

서비스의 이름입니다.

ServerIp

서버의 IP 주소입니다.

Method

HTTP 메서드입니다.

UriQuery

URI 쿼리입니다.

Host

요청의 호스트 정보입니다.

UserAgent

사용자 에이전트 이름입니다.

Cookie

애플리케이션에서 제공하는 쿠키입니다.

Referrer

참조자입니다.

ServerPort

서버의 포트입니다.

ProtocolStatus

프로토콜 상태.

Win32Status

win32 상태.

MethodNum

메서드 번호입니다.

SubStatus

하위 상태.

설명

HTTP_LOG_FIELDS_DATA 구조체는 HTTP 버전 2.0 API로 시작하는 HttpSendResponseEntityBodyHttpSendHttpResponse 함수의 선택적 매개 변수(pLogData)입니다. HTTP_LOG_FIELDS_DATA 구조체는 응답에 기록되는 필드를 지정합니다.

이 구조가 전달되지 않는 한 URL 그룹 또는 서버 세션에서 서버 로깅 속성이 설정된 경우에도 응답이 기록되지 않습니다. 애플리케이션이 각 응답과 함께 HTTP_LOG_FIELDS_DATA 구조를 전달하고 로깅 속성이 서버 세션 또는 URL 그룹에 설정되어 있지 않으면 요청이 기록되지 않습니다. HTTP_LOG_FIELDS_DATA 구조체의 대부분의 필드는 HTTP_REQUEST 구조의 해당 필드에서 초기화할 수 있지만 일부 로그 필드는 애플리케이션에만 알려져 있습니다. 예를 들어 Win32Status 및 SubStatus입니다. 이 구조를 사용하면 애플리케이션이 기록된 필드를 변경할 수 있습니다. 애플리케이션은 해당 필드에 대한 로깅을 사용하지 않도록 설정하기 위해 해당 멤버에 대해 NULL 포인터와 길이 0을 전달합니다.

애플리케이션은 마지막 송신 호출을 사용하여 HTTP_LOG_FIELDS_DATA 구조를 제공해야 합니다. HttpSendHttpResponse에 대한 단일 호출로 응답을 보내는 경우 이 호출에서 로그 데이터를 제공해야 합니다. 여러 송신 호출을 통해 응답이 전송되는 경우 HttpSendResponseEntityBody에 대한 마지막 호출과 함께 데이터를 제공해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
머리글 http.h

추가 정보

HTTP Server API 버전 2.0 구조체

HTTP_RESPONSE_V1

HTTP_RESPONSE_V2

HttpSendHttpResponse

HttpSendResponseEntityBody