Ağ Terminolojisi (WinHTTP)
Microsoft Windows HTTP Hizmetleri (WinHTTP) kullanan bir uygulama geliştirirken, genel olarak ağ ve özellikle HTTP protokolüyle ilgili aşağıdaki kavramları ve terimleri anlamak önemlidir.
- HTTP İşlemleri
- proxy sunucuları
- Zaman Uyumlu ve Zaman Uyumsuz Modlar
- kimlik doğrulaması
HTTP İşlemleri
HTTP işlemleriyle çalışırken, ağdaki başka bir bilgisayarla bilgi alışverişinde bulunursunuz. Değiştirilen bilgiler metin veya multimedya içeren bir dosya veya veritabanı sorgusunun sonuçları olabilir. Ağ üzerinden değiştirilen bir bilgi parçasına kaynakadı verilir. Normalde, kaynak gönderen bilgisayar sunucudur ve bu kaynağı alan bilgisayar bir istemcidir. Ancak, istemcinin sunucuya veri göndermesi de mümkündür. Bazen BIR HTTP işlemi orta katman sunucu içerir. Orta katman bir sunucu diğer sunuculardan birkaç kaynak toplar, bilgileri tek bir kaynakta derler ve bu kaynağı istemciye gönderir.
HTTP protokolünün kullanıldığı bir kaynak alma işlemi, istemci ile sunucu arasında bir dizi iletinin alışverişini gerektirir. İstemci, kaynak isteyen bir ileti göndererek işlemi başlatır. Bu iletiye HTTP isteği veya bazen yalnızca istek adı verilir. HTTP isteği aşağıdaki bileşenlerden oluşur.
- Yöntem, Tekdüzen Kaynak Tanımlayıcısı (URI), protokol sürüm numarası
- Üstbilgi
- Varlık gövdesi
Bir sunucu bir istek aldığında, istemciye bir ileti göndererek yanıt verir. Sunucu tarafından gönderilen iletiye HTTP yanıtı adı verilir. HTTP yanıtı aşağıdaki bileşenlerden oluşur.
- Protokol sürüm numarası, durum kodu, durum metni
- Üstbilgi
- Varlık gövdesi
Yanıt, isteğin işlenemeyeceğini gösterir veya istenen bilgileri sağlar. İsteğin türüne bağlı olarak, bu, bir kaynakla ilgili boyut ve tür gibi bilgiler olabileceği gibi, kaynağın bir kısmı veya tamamı da olabilir. bir yanıtın istenen kaynağın bir kısmını veya tümünü içeren bölümü "yanıt verileri" veya "varlık gövdesi" olarak adlandırılır ve yanıt tüm yanıt verileri alınana kadar tamamlanmaz.
HTTP işlemleri ve HTTP protokolü hakkında ayrıntılı bilgi için bkz. RFC 2616 , Köprü Metni Aktarım Protokolü — HTTP/1.1.
Proxy Sunucuları
bir istemci tarafından gönderilen bir istek sonunda hedef sunucu tarafından alınsa da, bazen işlem önce bir ara sunucu üzerinden geçer. Ara sunucu isteği durdurur ve hatta isteği sunucuya göndermeden önce değiştirebilir. Sunucu yanıt verdiği zaman, yanıt istemciye iletilmeden önce ara sunucudan da geçer. Ara sunucu bu yanıttaki üst bilgileri değiştirebilir.
Bir ara sunucu, ağ işlemlerini keserek ve çevirerek şunları yapabilir:
- Tehlikeli olabilecek işlemleri izleyerek istemciyi koruyun.
- İstemci yazılımı tarafından uygulanmamış olabilecek protokolleri kullanarak istemcinin iletişim kurmasını sağlayın.
- Özel ağ ile genel ağ arasında ağ geçidi görevi görür.
WinHTTP API'si, HTTP işlemlerinizi kesen ara sunucularla ilgili bilgileri WinHTTP sağlamanıza olanak tanıyan bir ara sunucu yapılandırma aracı içerir. Ara sunucu yapılandırma aracını kullanma hakkında bilgi için bkz. ProxyCfg.exe,bir Ara Sunucu Yapılandırma Aracı.
Zaman Uyumlu ve Zaman Uyumsuz Modlar
WinHTTP kullanarak ağ üzerinden kaynak almaya yönelik iki programlama modeli vardır: zaman uyumlu ve zaman uyumsuz modeller. Zaman uyumlu modelde, istenen işlem tamamlanana veya hata oluşana kadar bir işleve veya yönteme çağrı tamamlanmaz. Örneğin, uygulamanız WinHTTP kullanarak zaman uyumlu olarak bir kaynak istediğinde, istenen veriler alınana kadar sonraki adımla devam etmez.
Öte yandan zaman uyumsuz model, uygulamanın kaynağın alınmasını beklerken diğer görevleri gerçekleştirmesine olanak tanır. Başka bir WinHTTP işlevi veya yöntemi çağrılırsa ve önceki bir işlem tamamlanmazsa işlev bir hata döndürür. WinHTTP zaman uyumsuz olarak kullanıldığında, Bileşen Nesne Modeli (COM) olayları ve geri çağırma, bir http işlemindeki ilerleme durumunu bir uygulamaya bildirmek için kullanılabilir.
Kimlik doğrulama
Kimlik doğrulaması, bir HTTP ara sunucusunun veya HTTP sunucusunun kaynaklara erişime izin vermeden önce kullanıcının oturum açma bilgilerini doğrulama işlemidir. İnternet'te çeşitli kimlik doğrulama düzenleri kullanılır. Genellikle kullanıcının adı ve parolası yetkili bir listeyle karşılaştırılır ve sistem bir eşleşme algılarsa, kullanıcı için izin listesinde belirtilen ölçüde erişim verilir.
WinHTTP işlevleri HTTP oturumları için hem sunucu hem de proxy kimlik doğrulamasını destekler. WinHTTP şu kimlik doğrulama düzenlerini destekler: Temel, Özet (bkz. rfc 2617 ), NTLM Authentication, Negotiate/Kerberosve Microsoft Passport 1.4. Kimlik doğrulaması hakkında ayrıntılı bilgi ve bir Microsoft Visual C++ uygulamasında kimlik doğrulamasını kullanma örneği için bkz. winhttp kimlik doğrulaması.
Temel ve Passport kimlik doğrulamasıyla ilgili güvenlik konuları hakkında bilgi için bkz. winhttp güvenlik konuları .