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


Новые возможности Windows Server 2008 и Windows Vista

Начиная с Windows Server 2008 и Windows Vista API WinHTTP был расширен, включив следующие функции.

Отправка свыше 4 ГБ.

WinHttpSendRequest может отправлять только 4 ГБ данных из-за ограничений размера параметра общей длины DWORD. Чтобы разрешить приложениям отправлять более 4 ГБ данных, к запросу добавляется заголовок Content-Length, в который указываются данные размером LARGE_INTEGER (2^64 байта). Дополнительные сведения см. в статье WinHttpSendRequest. Эта функция не поддерживается в COM-объекте IWinHttpRequest .

Заголовок Transfer-Encoding

Заголовок Transfer-Encoding позволяет приложениям отправлять на сервер фрагментированные данные. Если в запросе присутствует заголовок Transfer-Encoding, приложение отправляет запрос с телом сущности нулевой длины в вызове WinHttpSendRequest. Тело сущности отправляется в последующих вызовах WinHttpWriteData. Эта функция не поддерживается в COM-объекте IWinHttpRequest .

Получение списка издателя сертификатов SSL-клиента

Приложение может получить список издателей СЕРТИФИКАТОВ SSL при сбое WinHttpSendRequest с ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED. Новый параметр, WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST, позволяет приложениям получать список издателей сертификатов и фильтровать список по оптимальному сертификату. Дополнительные сведения см. в разделах Флаги параметров и Получение списка издателей для проверки подлинности SSL-клиента . Эта функция не поддерживается в COM-объекте IWinHttpRequest .

Необязательные сертификаты клиента

Если WinHttpSendRequest завершается сбоем с ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED, серверу может не потребоваться SSL-сертификат клиента. Сервер может отменить изменения к другой форме проверки подлинности или разрешить клиенту продолжить анонимный доступ. Приложение задает параметр WINHTTP_OPTION_CLIENT_CERT_CONTEXT и задает макрос, который WinHttp использует для определения необходимости сертификата клиента. Дополнительные сведения см. в разделе Флаги параметров. Эта функция не поддерживается в COM-объекте IWinHttpRequest .

IP-адреса источника и назначения

После завершения WinHttpReceiveResponse приложение может получить ИСХОДНЫй и целевой IP-адрес и порт запроса, который создал ответ. При установке параметра WINHTTP_OPTION_CONNECTION_INFO предоставляется новая структура для получения исходного и целевого адресов. Дополнительные сведения см. в разделе Флаги параметров. Эта функция не поддерживается в COM-объекте IWinHttpRequest .

Дополнительные ошибки проверки подлинности SSL-клиента

Дополнительные сведения о SSL-сертификате клиента предоставляют дополнительные сведения об ошибках проверки подлинности SSL-клиента. Ошибки ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY и ERROR_WINHTTP_CERT_NO_ACCESS_PRIVATE_KEY сертификатов клиента являются новыми для Windows Server 2008 и Windows Vista. COM-объект IWinHttpRequest возвращает эти ошибки в HRESULT.