HTTP proxy, bir istemcinin HTTP isteklerini alan, bunları hedef sunucuya ileten ve yanıtları geri ileten bir sunucudur. HTTPS siteleri için istemci, proxy üzerinden bir tünel açmak için CONNECT yöntemini kullanır; bu tünel, şifreli trafiği okuyamadan iletir.
HTTP proxy, üzerinden geçen şifrelenmemiş HTTP trafiğini okuyabilir ve hatta değiştirebilir, bu nedenle hassas verilerin HTTPS üzerinden iletilmesi gerekir; burada proxy yalnızca şifreli trafiği tünelleştirir.
HTTP Proxy'nin Bir İsteği Nasıl İşlediği
- İstemci, isteğini web sitesi yerine proxy'e gönderir. Düz HTTP için tam hedef URL'yi kullanır; HTTPS için bir
CONNECT host:443isteği gönderir. - Proxy bir giriş gerektiriyorsa, istemci
Proxy-Authorizationbaşlığını ekler. - HTTP için proxy, isteği hedefe iletir. CONNECT için, 2xx durumu ile yanıt verir ve tünel moduna geçer.
- Yanıt, proxy üzerinden istemciye geri döner.
İleri, Ters ve Şeffaf HTTP Proxileri
- İleri proxy: istemciler adına hareket eder ve kimliklerini web sitelerinden gizleyebilir. Kullanıcılar, tarama sırasında IP adreslerini gizlemek için bir tane kurabilirler.
- Ters proxy: web sunucuları adına hareket eder, yük dengeleme ve statik içeriği önbelleğe alma gibi görevleri yerine getirir.
- Şeffaf (yakalama) proxy: ağ yoluna yerleştirilmiştir, bu nedenle istemciler bunu yapılandırmaz ve orada olduğunu bilmeyebilir.
HTTP Proxy vs. SOCKS5 Proxy
| HTTP proxy | SOCKS5 proxy | |
|---|---|---|
| Anladığı şeyler | HTTP istekleri ve yanıtları | Taşıma katmanının üstündeki hiçbir şey; verileri HTTP olarak okumadan iletir |
| Taşıdığı trafik | Web trafiği, HTTPS CONNECT tünelinden geçer | SOCKS destekleyen herhangi bir uygulama için TCP ve UDP |
Via gibi başlıklar ekleyebilir | Evet | Hayır |
| curl'da | Proxy'nin bir şeması yoksa varsayılan tür | socks5:// veya socks5h:// proxy URL'si ile ayarlanır |
Önbellekleme
Bazı HTTP proxy'leri, bir ağdan çıkan trafiği azaltmak için yanıtları depolar. MDN, bunları proxy önbellekleri olarak adlandırır, bir tür paylaşılan önbellek. Siteler, paylaşılan önbelleklerin bunları depolamaması için kişiselleştirilmiş yanıtları Cache-Control: private ile işaretler. HTTPS yanıtları genellikle bir proxy üzerinden tünel ile geçer, bu nedenle birçok durumda proxy bunları önbelleğe alamaz.
Web Kazıma İçin Ne Anlama Geliyor
- HTTP genellikle varsayılandır: curl,
proxy.example.com:8080gibi bir şeması olmayan bir proxy'yi HTTP proxy olarak kabul eder. İstemcilerin bunu nerede depoladığını görmek için proxy ayarları'na bakın. - Başlıklar proxy'yi açığa çıkarabilir: proxy'ler
Viabaşlığını ekleyebilir ve bazıları orijinal istemci IP'si ile X-Forwarded-For ekler. Adresinizi gizlemek için güvenmeden önce bir proxy'nin ne gönderdiğini kontrol edin.