Windows Server 2008 및 Windows Vista의 새로운 기능
Windows Server 2008 및 Windows Vista부터 WinHTTP API는 다음 기능을 포함하도록 향상되었습니다.
4GB 초과 업로드
WinHttpSendRequest 는 DWORD 총 길이 매개 변수의 크기 제한으로 인해 4GB의 데이터만 보낼 수 있습니다. 애플리케이션에서 4GB 이상의 데이터를 보낼 수 있도록 Content-Length 헤더는 LARGE_INTEGER(2^64바이트)만큼 큰 데이터를 지정하는 요청에 추가됩니다. 자세한 내용은 WinHttpSendRequest를 참조하세요. 이 기능은 IWinHttpRequest COM 개체에서 지원되지 않습니다.
Transfer-Encoding 헤더
Transfer-Encoding 헤더를 사용하면 애플리케이션이 청크 분할된 데이터를 서버에 보낼 수 있습니다. 요청에 Transfer-Encoding 헤더가 있으면 애플리케이션은 WinHttpSendRequest 호출에서 길이가 0인 엔터티 본문으로 요청을 보냅니다. 엔터티 본문은 WinHttpWriteData에 대한 후속 호출로 전송됩니다. 이 기능은 IWinHttpRequest COM 개체에서 지원되지 않습니다.
SSL 클라이언트 인증서 발급자 목록 검색
WinHttpSendRequest가 ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED 실패하면 애플리케이션에서 SSL 클라이언트 인증서 발급자 목록을 검색할 수 있습니다. WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST 새 옵션을 사용하면 애플리케이션이 인증서 발급자 목록을 검색하고 최적의 인증서 목록을 필터링할 수 있습니다. 자세한 내용은 SSL 클라이언트 인증 topics 대한옵션 플래그 및 발급자 목록 검색을 참조하세요. 이 기능은 IWinHttpRequest COM 개체에서 지원되지 않습니다.
선택적 클라이언트 인증서
winHttpSendRequest가 ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED 실패하면 서버에 SSL 클라이언트 인증서가 필요하지 않을 수 있습니다. 서버는 다른 형태의 인증으로 되돌리기 수 있거나 클라이언트가 익명 액세스를 계속하도록 허용할 수 있습니다. 애플리케이션은 WINHTTP_OPTION_CLIENT_CERT_CONTEXT 옵션을 설정하고 WinHttp에서 클라이언트 인증서가 필요한지 확인하는 데 사용하는 매크로를 지정합니다. 자세한 내용은 옵션 플래그를 참조하세요. 이 기능은 IWinHttpRequest COM 개체에서 지원되지 않습니다.
원본 및 대상 IP 주소
WinHttpReceiveResponse가 완료되면 애플리케이션은 응답을 생성한 요청의 원본 및 대상 IP 주소와 포트를 검색할 수 있습니다. WINHTTP_OPTION_CONNECTION_INFO 옵션이 설정된 경우 원본 및 대상 주소를 수신하기 위해 새 구조가 제공됩니다. 자세한 내용은 옵션 플래그를 참조하세요. 이 기능은 IWinHttpRequest COM 개체에서 지원되지 않습니다.
추가 SSL 클라이언트 인증 오류
추가 SSL 클라이언트 인증 오류는 SSL 클라이언트 인증서에 대한 자세한 정보를 제공합니다. ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY 및 ERROR_WINHTTP_CERT_NO_ACCESS_PRIVATE_KEY 클라이언트 인증서 오류는 Windows Server 2008 및 Windows Vista의 새로운 기능입니다. IWinHttpRequest COM 개체는 HRESULT에서 이러한 오류를 반환합니다.