Aracılığıyla paylaş


WinHTTP hakkında

Not

Windows 10, sürüm 1709'dan itibaren, HTTP/2 (bkz. RFC7540) varsayılan olarak açık olduğundan, uygulama kapsayıcıları ve sistem hizmetleri için geçerlidir.

Microsoft Windows HTTP Hizmetleri (WinHTTP), HTTP/2 ve 1.1 İnternet protokolleri için sunucu destekli, üst düzey bir arabirim sağlar. WinHTTP, ÖNCELIKLE HTTP sunucularıyla iletişim kuran sunucu uygulamaları tarafından sunucu tabanlı senaryolarda kullanılacak şekilde tasarlanmıştır.

WinINet, etkileşimli masaüstü uygulamaları için bir HTTP istemci platformu olarak tasarlanmıştır. WinINet, kullanıcı kimlik bilgilerini toplama gibi bazı işlemler için bir kullanıcı arabirimi görüntüler. Ancak WinHTTP bu işlemleri program aracılığıyla işler. HTTP istemci hizmetleri gerektiren sunucu uygulamaları WinINet yerine WinHTTP kullanmalıdır. Daha fazla bilgi için bkz. WinINet Uygulamalarını Win'e Taşımahttp .

WinHTTP ayrıca sistem hizmetlerinde ve HTTP tabanlı istemci uygulamalarında kullanılmak üzere tasarlanmıştır. Ancak FTP protokolü işlevselliği, tanımlama bilgisi kalıcılığı, önbelleğe alma, otomatik kimlik bilgisi iletişim kutusu işleme, Internet Explorer uyumluluğu veya alt düzey platform desteği gerektiren tek kullanıcılı uygulamalar, WinINetkullanmayı düşünmelidir.

Bu arabirime, WinHTTP uygulama programlama arabirimi (API) veya IWinHttpRequest ve IWinHttpRequestEvents arabirimleri kullanılarak C/C++ tarafından erişilebilir. WinHTTP'ye betikten ve Microsoft Visual Basic'ten WinHTTP nesnesi aracılığıyla da erişilebilir. Tek tek işlevler hakkında daha fazla bilgi ve açıklama için, belirli bir dil için WinHTTP işlevleri başvurusuna bakın.

Windows 8'den başlayarak WinHTTP, WinHttpWebSocketSend ve WinHttpWebSocketReceivegibi WebSocket Protokolükullanarak bağlantıları etkinleştirmek için API'ler sağlar.

Dikkat

WinHTTP, zaman uyumsuz tamamlama geri çağırması dışında yeniden giriş yapılmaz. Başka bir ifadeyle, bir iş parçacığının WinHttpSendRequest, WinHttpReceiveResponse, WinHttpQueryDataAvailable, WinHttpSendData veya WinHttpWriteData gibi WinHTTP işlevlerinden birini bekleyen bir çağrısı olsa da, ilk çağrı tamamlanana kadar hiçbir zaman WinHTTP'yi ikinci kez çağırmamalıdır. İkinci bir çağrının gerçekleşebileceği senaryolardan biri aşağıdaki gibidir: Bir uygulama WinHTTP'ye çağrı yapan iş parçacığına Zaman Uyumsuz Yordam Çağrısı (APC) kuyruğa alırsa ve WinHTTP dahili olarak uyarılabilir bir bekleme gerçekleştirirse, APC çalıştırılabilir. APC rutini WinHTTP'yi de çağırırsa, WinHTTP API'sine yeniden girer ve WinHTTP'nin iç durumu bozulabilir.

WinHTTP 5.1 Özellikleri

WinHTTP'nin 5.1 sürümüne aşağıdaki özellikler eklendi:

  • IPv6 desteği.
  • AutoProxy özellikleri.
  • Canlı tutma (kalıcı) bağlantıları ve oturum tanımlama bilgileri desteği de dahil olmak üzere HTTP/1.0 protokolü.
  • HTTP yanıtları için HTTP/1.1 öbekli aktarım desteği.
  • Oturumlar arasında anonim bağlantıların etkin kalmasını sağlama.
  • İstemci sertifikaları da dahil olmak üzere Güvenli Yuva Katmanı (SSL) işlevselliği. Desteklenen SSL protokolleri şunlardır: SSL 2.0, SSL 3.0 ve Aktarım Katmanı Güvenliği (TLS) 1.0.
  • Microsoft Passport 1.4 ve Negotiate/ Kerberos paketi için tümleşik destek de dahil olmak üzere sunucu ve proxy kimlik doğrulaması desteği.
  • Gizlenmediği sürece yeniden yönlendirmelerin otomatik olarak işlenmesi.
  • API'ye ek olarak betiklenebilir arabirim.
  • Sorunları gidermeye yardımcı olmak için izleme yardımcı programı.

WinHTTP'de URL önbelleğe alma, kalıcı tanımlama bilgileri, otomatik proxy, otomatik çevirme, çevrimdışı destek ve Dosya Aktarım Protokolü (FTP) gibi bir dizi WinINet özelliği desteklenmez.

Sürüm 5.1'de sunulan değişiklikler hakkında daha fazla bilgi için bkz. WinHTTP 5.1'deki Yenilikler.

WinHTTP ile Çalışmaya Başlama

WinHTTP hakkında daha fazla bilgi için aşağıdaki konulara bakın.

  • WinINet ve WinHTTP HTTP'ye erişmeye yönelik iki teknolojiyi karşılaştırır.
  • WinHTTP Sürümleri WinHTTP'nin sürüm geçmişini açıklar.
  • WinHTTP 5.1'deki Yenilikler WinHTTP 5.1'deki değişiklikleri ve yeni özellikleri açıklar.
  • Ağ Terminolojisi, genel olarak ağ ve özellikle HTTP protokolü ile ilgili yararlı kavramları ve terminolojiyi açıklar.
  • winhttp arabirimi seçme C/C++ API'sini ve WinHTTP için COM arabirimini açıklar.
  • winHTTP güvenlik konuları WinHTTP kullanırken dikkat edilmesi gereken güvenlik sorunlarını açıklar.
  • WinINet Uygulamalarını WinHTTP'ya Taşımahttp WinHTTP API'sini kullanmak için mevcut WinINet uygulamalarınızı nasıl değiştirebileceğiniz açıklanır.