Tam olarak değil: istemcinin nasıl yapılandırıldığına bağlıdır. IE'yi temel örnek olarak kullanalım.
IE'yi açık bir proxy ile yapılandırırsanız : örneğin başka bir seçenek işaretlenmezse, proxy bir şeye ayarlanır: 8080.
Kullanıcı bir adres yazıyor
IE, dize eşleşmesinin adresini IE proxy özel durumlar listesine göre denetler (örn. "Bu adresler için proxy'yi atla:")
a. Baypas listesindeki bir girişle eşleşirse , istemci adı çözmek için kendi DNS'sini kullanır ve istemci doğrudan bağlantı noktası 80'deki (varsayılan) hedef IP adresine bağlanır , ardından aşağıdaki gibi bir istek gönderir:
GET /something.htm HTTP/1.1
Host: fulldomainame.example.com
b. Hiçbir baypas listesi girişi eşleşmezse , devam edin:
IE yapılandırılmış proxy'sine bağlanır ve formun bir isteğini gönderir:
GET http://fulldomainname.example.com/something.htm HTTP/1.1
Bonus factoid: URL'deki FQDN'nin bu kullanımı, bir müşterinin gerçek bir web sunucusu yerine bir proxy ile konuştuğunu düşündüğünü anlamanın bir yoludur
Proxy, bu ana bilgisayar adını kendi DNS'sini kullanarak çözer ve ardından hedef siteye bağlanır (yukarıdaki 2. adımda istemci gibi davranır), vb.
WPAD / PAC kullanırken:
Otomatik yapılandırma etkinleştirildiğinde ISA / TMG tarafından sağlananlar gibi bir Web Proxy Otomatik Bulma (WPAD) veya Proxy Otomatik Yapılandırma (PAC veya Otomatik Yapılandırma) komut dosyası kullanılması durumunda, durum farklıdır:
Kullanıcı bir adres yazıyor
Müşteri indirme cari wpad.dat / autoproxy.js / .Pac onun yapılandırılan konumdan dosya
İstemci js dosyasında " FindProxyForUrl " işlevini arar ve onu çalıştırır
Autoproxy komut dosyası, ana makine adını ve URL'yi işler . Bu sınırlı işlevli bir javascript dosyasıdır, ancak yine de birçok şey mümkündür:
a. buna ad çözümlemesi de olabilir (IsInNet, DnsResolve)
b. buna dize eşleme de (ShExpMatch) dahil olabilir
c. bu bir milyona (i ++) kadar saymayı içerebilir
d. bu , yönetici bir sarsıntı durumunda, önemsiz uyarı pop-up mesajlarını içerebilir.
- (ya da sadece komik)
- ((veya hata ayıklama))
FindProxyForURL en az bir dizi fonksiyonu döner kullanım için en iyi yakınlık sıralı bir listesini (noktalı virgül ile ayrılmış):
a. ya "DIRECT" , bu durumda istemcinin yukarıdaki Baypas durumuna göre adını çözmesi ve doğrudan bağlanması gerekir
b. veya "PROXY proxy adı: 8080" veya benzeri bir durumda, bu durumda istemci söz konusu proxy'deki bağlantı noktasına bağlanır , tam URL'yi ALMASINI söyler ve proxy ad çözümlemesi gerçekleştirir .
- Bir As Örneğin : komut işlevi döndürdü eğer "PROXY yourProxy: 8080; DIRECT'i" bağlanmak için istemci söyler yourproxy TCP portuna 8080 Bu URL'yi talep etmek ve eğer o bağlantı kurulamazsa, direkt gitmeyi deneyin.
Not Bu olası değil bir kullanıcı için hoş yük devretme deneyim olarak, başka bir şey yener, böylece TCP oturumu kurulumu hatası, tam hızlı olmadığını. Olabilir.
Bazen aksaklıklar, incelikler ve açıklanamayan davranışlar vardır, ancak çoğunlukla işler garip ve ilginç yollarla kırılmadığında, yukarıda uzun yıllar boyunca nasıl çalıştığını gördüm. Daha yeni tarayıcılar davranışı optimize ediyor ve şeyleri paralelleştiriyor ve her zaman ilginç şeyler deniyor.
WinSock Proxy / ISA Güvenlik Duvarı İstemcisi / TMG İstemcisi :
Winsock Proxy İstemcisi (TMG / ISA Server'dan) ile ilgileniyorsanız, bu daha esnek ve hareketli parçalara sahip farklı bir hikaye. Buraya girmek için çok fazla, ama etrafında nasıl çalıştığını açıklayan dokümanlar var. Kısacası: Windows Yuvalarına takılır ve hem uygulama başına hem de kullanıcı başına TCP / UDP tabanlı trafik ve ad çözümleme isteklerine müdahale edebilir. Çok güçlü, ancak şimdi de kullanımdan kaldırıldı ve birkaç yıl içinde güncellenmedi.
Müşteriler Gerçekten Clingy olabilir:
Bir son not : HTTP istemci verilen bir site / url için bir proxy konuşmaya karar sonra, vekil değil bunu söylemek için hiçbir yolu yoktur .
"Ben buna hizmet etmiyorum, sadece doğrudan ona gitmelisin" için bir HTTP durum kodu veya başlığı yok ...
İstemci belirli bir URL'nin proxy tarafından sunulduğuna karar verdikten sonra proxy'de ölüm olayı gerçekleşir.
Bundan kaçınmanın tek yolu, seçim mantığını istemci bağlantısını kurmadan hemen önce, PAC veya Bypass listesinde almaktır.
Bölgeler ve PAC dosyaları hakkında son not
IE, DIRECT bağlantılı siteleri (URL'de noktaları olsa bile) Yerel İntranet Bölgesi'nin bir parçası olarak ele alır (varsayılan olarak - Bölge özelliklerinde ayarlanabilir) ve bu nedenle bu sitelere Tümleşik Windows Kimlik Doğrulamasına izin verme (ör. Kerberos ve / veya NTLM kimlik doğrulaması, saydam). Yerel İntranet Bölgesi'ndeki bir şeyin olup olmadığını denetlemek, otomatik kimlik doğrulama açısından ne kadar güvenilir olduğunu tanımlar. Yine, en azından varsayılan olarak.