İçeriğe geç

Temel Bilgiler4 dk okuma

HTTP Proxy Nedir?

HTTP proxy, web trafiğini HTTP protokolü düzeyinde anlayan ve ileten aracı sunucudur. Tarayıcılardan komut satırı araçlarına kadar pek çok yazılımın desteklediği en yaygın proxy türüdür. Bu rehberde nasıl çalıştığını, sınırlarını ve gerçekten çalışan kod örneklerini bulacaksınız.

Yayın
Güncelleme
Okuma süresi
4 dakika

HTTP proxy’nin tanımı#

HTTP proxy, istemciden gelen HTTP isteklerini alır, hedef sunucuya iletir ve yanıtı istemciye döndürür. “Uygulama katmanında” çalışır; yani isteğin yöntemini (GET, POST), adresini ve başlıklarını okuyabilir. Bu özellik ona önbellekleme, filtreleme ve başlık düzenleme gibi yetenekler kazandırır, ama aynı zamanda şifrelenmemiş trafiği görebilmesi anlamına da gelir.

Düz HTTP isteği proxy’den nasıl geçer?#

Proxy kullanmayan bir istemci, sunucuya yalnızca yol bilgisini gönderir (GET /sayfa HTTP/1.1). Proxy kullanan istemci ise isteğin tam adresini proxy’ye verir, çünkü proxy’nin nereye gideceğini bilmesi gerekir:

HTTP
GET http://example.com/sayfa HTTP/1.1
Host: example.com
Proxy-Authorization: Basic VVNFUk5BTUU6UEFTU1dPUkQ=
Accept: text/html
Proxy’ye gönderilen istekte adres tam biçimde yazılır. Proxy-Authorization başlığı kimlik doğrulamalı proxy’lerde kullanılır.

Proxy bu isteği alır, Proxy-Authorization gibi kendisine ait başlıkları çıkarır ve isteği example.com sunucusuna iletir. Yanıt geldiğinde aynen istemciye aktarır. Kimlik doğrulama başarısız olursa proxy genellikle 407 Proxy Authentication Required durum kodunu döndürür.

HTTPS siteleri için ne olur?#

HTTP proxy, HTTPS bir siteye ulaşmak için CONNECT yöntemini kullanır. İstemci proxy’den hedefe bir tünel açmasını ister; tünel kurulduktan sonra proxy yalnızca şifreli baytları iletir ve içeriği okuyamaz. Bu işleyişin ayrıntısı için HTTPS proxy nedir rehberini inceleyin.

Proxy’nin eklediği başlıklar#

Bazı HTTP proxy’ler, isteğe kendi izlerini bırakan başlıklar ekler. Bu başlıklar hedef sitenin bir proxy kullandığınızı anlamasını sağlayabilir ve gerçek IP adresinizi taşıyabilir. Hangi başlığın neyi ifşa ettiği anonimlik seviyesini belirler.

BaşlıkAmacıEtkisi
Viaİsteğin hangi aracılardan geçtiğini belirtirProxy kullanıldığını açık eder
X-Forwarded-Forİstemcinin özgün IP adresini taşırGerçek IP’nin hedefe ulaşmasına yol açabilir
ForwardedX-Forwarded-For için standart karşılıkAynı etkiyi standart biçimde sağlar
Proxy-AuthorizationProxy’ye kimlik bilgisi iletirHedefe iletilmemesi gerekir
Tablo 1Bu başlıkların bulunup bulunmadığı, bir proxy’nin “Şeffaf”, “Anonim” veya “Elit” sayılmasında rol oynar.

Anonimlik düzeylerinin ayrıntısını proxy anonimlik seviyeleri rehberinde bulabilirsiniz.

HTTP proxy ne işe yarar?#

HTTP proxy’nin en bilinen kullanımı çıkış IP adresini değiştirmektir; ancak asıl tarihsel rolü başkadır. Kurumsal ağlarda sık ziyaret edilen içerikleri önbelleğe alarak bant genişliğinden tasarruf sağlar, erişim politikalarını uygular ve giden trafiği tek bir noktadan kayda alır. Bireysel kullanımda ise bir sitenin başka bir ülkeden nasıl göründüğünü incelemek, bir geliştirme ortamındaki istekleri izlemek ya da bir aracın proxy ayarını denemek için tercih edilir.

HTTP proxy isteği anladığı için üzerinde ek işlemler yapabilir. Örneğin belirli adresleri engelleyebilir, yanıtları önbellekten sunabilir ya da başlıkları düzenleyebilir. Bu esneklik, aynı zamanda güven sorununu doğurur: proxy’nin sahibi şifrelenmemiş trafiğinizin tamamını okuyabilir. Bu yüzden HTTP proxy’yi seçerken “ne işe yarar?” sorusunun yanında “kimin elinde?” sorusunu da sormak gerekir.

Port numaraları ve yaygın yapılandırmalar#

HTTP proxy’ler için sabit bir port yoktur. Pratikte 80, 3128 ve 8080 gibi portlar sık görülür, fakat bunlar yalnızca gelenektir. Önemli olan, sağlayıcının veya listenin bildirdiği adres ve portu eksiksiz girmektir. Bir proxy yalnızca belirli hedef portlarına (örneğin 80 ve 443) izin veriyor olabilir; bu durumda başka portlardaki servislere erişim reddedilir.

Sorun yaşadığınızda şu sırayı izlemek zaman kazandırır: önce adresin ve portun doğru yazıldığını, sonra protokolün (HTTP ya da SOCKS) eşleştiğini, ardından kimlik bilgisinin gerekli olup olmadığını kontrol edin. Bütün bunlar doğruysa sorun büyük olasılıkla sunucunun kapanmış olmasıdır.

Kod örnekleri#

curl

Bash
curl --proxy http://USERNAME:[email protected]:PORT \
     --max-time 15 \
     https://api.ipify.org
Kimlik doğrulamasız bir proxy için USERNAME:PASSWORD@ kısmını kaldırın.

Python (requests)

Python
import requests

proxy = "http://USERNAME:[email protected]:PORT"
proxies = {"http": proxy, "https": proxy}

response = requests.get("https://api.ipify.org", proxies=proxies, timeout=15)
print(response.text)
requests, HTTPS adresler için de HTTP proxy’ye CONNECT ile tünel açar.

Node.js (undici)

JavaScript
// npm install undici
import { ProxyAgent, fetch } from 'undici';

const agent = new ProxyAgent('http://USERNAME:[email protected]:PORT');
const res = await fetch('https://api.ipify.org', { dispatcher: agent });
console.log(await res.text());
ES modülü olarak çalışır; dosya uzantısı .mjs ya da package.json içinde "type": "module" gerekir.

HTTP proxy’nin sınırları#

  • Yalnızca web odaklıdır: E-posta, oyun veya rastgele TCP bağlantıları için SOCKS tercih edilir. SOCKS4 ve SOCKS5 farkları rehberine bakın.
  • Düz HTTP görünürdür: Şifrelenmemiş içerik proxy tarafından okunabilir ve değiştirilebilir.
  • Ücretsiz örnekler güvenilmezdir: Açık bir HTTP proxy’nin kimin elinde olduğunu bilmezsiniz.

Elinizdeki bir adresin HTTP proxy olarak çalışıp çalışmadığını HTTP proxy kontrol aracıyla sınayabilir, hazır adaylar için HTTP proxy listesine göz atabilirsiniz. Kalıcı bir ihtiyaç için HTTP ve SOCKS5 seçilebilen ISP proxy ürününü inceleyebilirsiniz.

Sık sorulan sorular

01HTTP proxy ile HTTPS siteye girebilir miyim?
Evet. HTTP proxy, HTTPS siteler için CONNECT yöntemiyle bir tünel açar. Bu durumda içerik uçtan uca şifreli kalır ve proxy yalnızca bağlandığınız sunucuyu görebilir.
02HTTP proxy parolamı korur mu?
Proxy’ye düz HTTP ile bağlanırsanız Basic kimlik bilgileri kodlanmış hâlde, yani okunabilir şekilde taşınır. Bu nedenle güvenilmeyen ağlarda kimlik bilgilerini dikkatle kullanın.
03407 hatası ne demektir?
Proxy, kimlik doğrulaması istiyor ve verdiğiniz bilgiler eksik veya hatalı demektir. Kullanıcı adı, parola ve protokolü yeniden kontrol edin.
04HTTP proxy ile her uygulama çalışır mı?
Hayır. Uygulamanın HTTP proxy ayarını desteklemesi gerekir. Web dışı trafik için SOCKS5 gibi protokoller daha uygundur.
05Ücretsiz HTTP proxy güvenli midir?
Genel bir güvenlik garantisi yoktur. Sahibi bilinmeyen bir sunucudan hassas veri geçirmemeniz önerilir.

Bilgiyi listede deneyin

Ücretsiz listedeki kayıtları protokole ve ülkeye göre süzebilirsiniz. Bu kayıtların güvenli ya da kalıcı olduğu garanti edilmez; hassas hesaplarınızda kullanmayın.