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

  1. İ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:443 isteği gönderir.
  2. Proxy bir giriş gerektiriyorsa, istemci Proxy-Authorization başlığını ekler.
  3. HTTP için proxy, isteği hedefe iletir. CONNECT için, 2xx durumu ile yanıt verir ve tünel moduna geçer.
  4. 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 proxySOCKS5 proxy
Anladığı şeylerHTTP istekleri ve yanıtlarıTaşıma katmanının üstündeki hiçbir şey; verileri HTTP olarak okumadan iletir
Taşıdığı trafikWeb trafiği, HTTPS CONNECT tünelinden geçerSOCKS destekleyen herhangi bir uygulama için TCP ve UDP
Via gibi başlıklar ekleyebilirEvetHayır
curl'daProxy'nin bir şeması yoksa varsayılan türsocks5:// 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:8080 gibi 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 Via baş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.

İlgili Terimler