HTTP Proxy Nedir ve Nasıl Çalışır?
HTTP proxy, istemci ile web sunucusu arasında duran ve HTTP dilini anlayan bir aracıdır. Düz HTTP isteklerini okuyup iletir, HTTPS için ise yalnız bir tünel açar.
- Mutlak URL ile istek iletimi
- CONNECT ile HTTPS tüneli
- Başlıklar ve anonimlik seviyeleri
HTTP proxy’nin çalışma mantığı
Normal bir web isteğinde tarayıcı doğrudan hedef sunucuya bağlanır ve istek satırına yalnız yolu yazar (GET /urunler). Proxy kullanıldığında ise tarayıcı proxy sunucusuna bağlanır ve istek satırına adresin tamamını yazar (GET http://example.com/urunler). Proxy bu satırdan hedefi öğrenir, kendi adına hedefe bağlanır ve gelen yanıtı istemciye geri iletir.
Düz HTTP trafiğinde proxy isteğin ve yanıtın tamamını görebilir; başlık ekleyebilir, çıkarabilir, önbelleğe alabilir. Kurumsal ağlarda filtreleme ve önbellekleme için kullanılan proxy'ler bu yetenekten yararlanır. Hedef site ise bağlantının proxy'nin IP adresinden geldiğini görür.
HTTPS sitelerde durum farklıdır. İstemci proxy'ye CONNECT yöntemiyle hangi sunucunun hangi portuna bağlanmak istediğini söyler. Proxy bu bağlantıyı kurduktan sonra yalnızca baytları iki yöne aktaran bir boru gibi davranır; TLS el sıkışması istemci ile hedef arasında gerçekleştiği için proxy içeriği okuyamaz ve başlıkları değiştiremez.
Kablodaki görüntü: ham istekler
Aşağıdaki örnekler bir istemcinin proxy’ye gönderdiği gerçek istek satırlarını gösterir. Kimlik bilgisi Basic şemasıyla, kullanici:sifre değerinin Base64 karşılığı olarak gönderilir.
GET http://example.com/urunler HTTP/1.1
Host: example.com
Proxy-Authorization: Basic a3VsbGFuaWNpOnNpZnJl
User-Agent: ornek-istemci/1.0
Accept: */*CONNECT example.com:443 HTTP/1.1
Host: example.com:443
Proxy-Authorization: Basic a3VsbGFuaWNpOnNpZnJl
HTTP/1.1 200 Connection established
(bu noktadan sonra istemci ile example.com arasında TLS el sıkışması başlar)HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="proxy"
Content-Length: 0Base64 bir şifreleme değil, kodlamadır. Düz HTTP proxy bağlantısında Proxy-Authorization başlığı ağı dinleyen biri tarafından çözülebilir; hassas ortamlarda IP whitelist ya da HTTPS proxy tercih edin.
Başlıklar ve anonimlik seviyeleri
Düz HTTP isteklerinde proxy, hedef siteye iletilen başlıklara bilgi ekleyebilir. Proxy'ler bu davranışa göre üç seviyede sınıflandırılır.
| Seviye | X-Forwarded-For / Forwarded | Via | Hedef ne anlar? |
|---|---|---|---|
| Şeffaf (transparent) | Gerçek istemci IP’sini taşır | Genellikle eklenir | Proxy kullanıldığını ve gerçek IP’yi görür |
| Anonim (anonymous) | Gerçek IP eklenmez | Eklenebilir | Proxy kullanıldığını anlayabilir, gerçek IP’yi görmez |
| Yüksek anonim (elite) | Eklenmez | Eklenmez | Başlıklardan proxy izi çıkmaz |
Bu sınıflandırma yalnız başlıklara dayanır. HTTPS (CONNECT) trafiğinde proxy başlık ekleyemez; hedef site yine de IP adresinin türü, davranış örüntüleri ve tarayıcı parmak izi gibi başka sinyalleri değerlendirebilir.
Örnek: şeffaf bir proxy’nin eklediği başlıklar
GET /urunler HTTP/1.1
Host: example.com
Via: 1.1 proxy.example.com
X-Forwarded-For: 198.51.100.23
Forwarded: for=198.51.100.23;by=203.0.113.5Buradaki 198.51.100.23 istemcinin, 203.0.113.5 ise proxy’nin adresidir. Forwarded başlığı RFC 7239 ile standartlaştırılmış biçimdir; X-Forwarded-For ise fiilen yaygın olan eski biçimdir.
HTTP proxy ve SOCKS5 karşılaştırması
| Kriter | HTTP proxy | SOCKS5 |
|---|---|---|
| Katman | Uygulama katmanı, HTTP’yi anlar | Oturum katmanı, içeriği yorumlamaz |
| Desteklenen trafik | HTTP, CONNECT ile HTTPS ve diğer TCP | Her türlü TCP; sunucu destekliyorsa UDP |
| Başlık müdahalesi | Düz HTTP’de mümkün | Yok |
| DNS çözümlemesi | Hedef adı proxy’ye gider, proxy çözer | İstemciye bağlı: socks5h ile proxy tarafında |
| Kimlik doğrulama | Proxy-Authorization başlığı | RFC 1929 kullanıcı adı / şifre |
| İstemci desteği | Neredeyse her tarayıcı ve sistem | Tarayıcılarda var, mobil sistem ayarlarında sınırlı |
| Tipik kullanım | Web gezinme, scraping, API çağrıları | Oyun istemcileri, masaüstü uygulamalar, SSH |
SOCKS5 protokolü bu sitede ISP (Türkiye), mobil Türkiye ve oyun paketlerinde sunulur.
HTTP proxy ne zaman yeterlidir?
Trafiğinizin tamamı web istekleriyse HTTP proxy çoğu iş için yeterlidir. Tarayıcılar, komut satırı araçları, scraping kütüphaneleri ve API istemcileri HTTP proxy'yi yerleşik olarak destekler; ek bir istemci kurmanız gerekmez. Sistem ve mobil cihaz ayarlarının neredeyse tamamı da HTTP proxy alanı sunar.
Uygulamanız HTTP dışı bir protokol kullanıyor, proxy ayarı yalnız SOCKS seçeneği sunuyor ya da DNS çözümlemesini kontrol etmek istiyorsanız SOCKS5 daha esnektir. Proxy ile aranızdaki bağlantının da şifrelenmesi gerekiyorsa, örneğin güvenmediğiniz bir ağdan bağlanıyorsanız, HTTPS proxy ya da IP whitelist ile kimlik bilgisini hiç göndermemek daha güvenli seçeneklerdir.
HTTP proxy durum kodlarını okumak
İlgili okumalar
Sıkça Sorulan Sorular
HTTP proxy HTTPS sitelerle çalışır mı?
Evet. İstemci CONNECT yöntemiyle proxy üzerinden hedefe bir tünel açar ve TLS bağlantısı bu tünelin içinden kurulur. Proxy bu durumda yalnız hedef alan adını ve portu bilir, sayfa içeriğini göremez.
HTTP proxy ile HTTPS proxy aynı şey mi?
Hayır. HTTP proxy'de istemci ile proxy arasındaki bağlantı şifresizdir; HTTPS sitelere gidilse bile CONNECT isteği ve proxy kimlik bilgisi açık metin olarak gider. HTTPS proxy'de istemci önce proxy ile TLS bağlantısı kurar, böylece kimlik bilgisi de şifreli kanalda taşınır.
X-Forwarded-For başlığı her zaman gerçek IP’yi mi gösterir?
Gösterdiği değer, başlığı ekleyen proxy'nin beyanıdır ve istemci tarafından da elle yazılabilir. Bu nedenle sunucular bu başlığa yalnız kendi güvendikleri proxy zincirinden geliyorsa itibar eder.
Elite proxy kullanırsam hiçbir site proxy kullandığımı anlamaz mı?
Başlıklardan iz çıkmaması bunun garantisi değildir. Siteler IP adresinin kayıtlı olduğu ağ türünü, aynı IP'den gelen trafik örüntüsünü ve tarayıcı özelliklerini de değerlendirebilir.
Proxy’nin önbellek tutması gizliliğimi etkiler mi?
Önbellekleme yalnız düz HTTP yanıtlarında mümkündür; HTTPS trafiği tünelden şifreli geçtiği için proxy tarafından önbelleğe alınamaz. Hassas işlemleri her zaman HTTPS sitelerde yapın.
HTTP proxy oyun veya masaüstü uygulamalarında kullanılabilir mi?
Uygulama HTTP proxy destekliyorsa ve trafiği TCP üzerindeyse CONNECT ile çalışabilir. UDP kullanan oyunlar ve HTTP proxy ayarı olmayan programlar için SOCKS5 daha uygun bir seçimdir.
Bunlar da işinize yarayabilir
Doğru proxy ile hemen başlayın
Paketleri karşılaştırın, ihtiyacınıza uygun olanı seçin. Kararsız kaldığınız noktada WhatsApp üzerinden sorabilirsiniz.