Teknik

HTTP ve SOCKS5 Proxy Farkı

Kısaca

HTTP proxy yalnızca HTTP'yi anlar ve HTTPS trafiğini CONNECT yöntemiyle bir tünel olarak taşır. SOCKS5 ise HTTP'ye bağlı olmayan, TCP'yi ve isteğe bağlı olarak UDP'yi aktarabilen genel amaçlı bir proxy protokolüdür. İkisi de kendi başına şifreleme yapmaz; hangisinin daha anonim ya da daha hızlı olduğuna dair bir sıralama yoktur. Seçim, istemcinize ve ürünün sunduğu protokollere bağlıdır.

Son güncelleme: Okuma süresi: yaklaşık 8 dk

HTTP proxy nasıl çalışır?

Düz HTTP isteğinde istemci, isteği proxy'ye hedef adresi tam olarak belirterek gönderir; proxy isteği iletir ve yanıtı geri getirir. Bu yüzden proxy düz HTTP içeriğini görebilir ve değiştirebilir.

HTTPS için durum farklıdır. İstemci önce proxy'ye CONNECT yöntemiyle hedef sunucu ve portu bildirir. Proxy 2xx ile yanıt verirse bağlantı bir tünele dönüşür ve sonrasında proxy baytları körlemesine aktarır. TLS el sıkışması istemci ile web sitesi arasında kurulur. Proxy hedef adı ve portu görür, ancak şifreli içeriği göremez.

Düz metin

CONNECT example.com:443 HTTP/1.1
Host: example.com:443
Proxy-Authorization: Basic ...

HTTP/1.1 200 Connection established
HTTPS için tünel isteği ve olumlu yanıt (özet; durum metni proxy yazılımına göre değişir)

Genel bilgi

Bu rehberdeki protokol açıklamaları RFC 9110 ve RFC 1928 gibi standartlara dayanır ve genel bilgidir. Hangi protokolün hangi üründe sunulduğu ise sağlayıcı beyanı ve sipariş formu verisidir; son bölümde ayrı gösterilir.

“HTTP(S) proxy” ne demek?

Genel kullanımda bu ifade çoğunlukla, HTTPS sitelere CONNECT tüneliyle ulaşabilen bir HTTP proxy'yi anlatır. İstemci ile proxy arasındaki hattın kendisinin TLS ile korunduğu “HTTPS proxy” ise ayrı bir kurulumdur ve her istemci bunu desteklemez. Bu sitede bu ayrıntı yayımlanmamıştır; bu rehberdeki örnekler http şemasıyla yazılmıştır. Emin olmak istiyorsanız satın almadan önce WhatsApp'tan teyit edin.

HTTP proxy yazılımları isteğe Via, Forwarded ya da X-Forwarded-For gibi başlıklar ekleyebilir; RFC 7239, Forwarded başlığındaki istemci adresinin gizlilik açısından hassas olduğunu ve herhangi bir düğümün bu başlığı taklit edebileceğini belirtir. Sağlayıcı proxy sunucularının bu konudaki davranışı yayımlanmamıştır. Hedef sitenin proxy üzerinden hangi başlıkları gördüğünü HTTP Proxy Kontrol aracıyla kendiniz sınayabilirsiniz.

SOCKS5 nasıl çalışır?

SOCKS5 (RFC 1928) önce bir yöntem pazarlığıyla başlar. İstemci sürüm numarasını ve desteklediği kimlik doğrulama yöntemlerinin listesini gönderir; sunucu bunlardan birini seçer (örneğin kimlik doğrulamasız ya da kullanıcı adı ve şifre) ya da hiçbirini kabul etmezse bağlantıyı reddeder.

Ardından istemci üç komuttan birini ister: CONNECT (TCP bağlantısı), BIND (gelen bağlantı) ya da UDP ASSOCIATE (UDP aktarımı). Hedef adres IPv4, IPv6 ya da alan adı olabilir. SOCKS5 uygulama katmanını bilmez; HTTP, SMTP ya da başka bir TCP protokolünü aynı şekilde taşır ve aktarılan içeriği yorumlamaz. Buna karşılık her uygulama SOCKS5 desteklemez: seçimden önce uygulamanızın proxy ayarlarında hangi şemaları kabul ettiğine bakın, kabul etmiyorsa sunulan SOCKS5 işinize yaramaz.

HTTP proxy: CONNECT tüneli

HTTPS için istemci, proxy’den hedefe bir tünel ister.

İstemciProxy sunucusu
  1. İstemci: tünel isteğiCONNECT example.com:443
  2. Proxy: 2xx yanıt, tünel hazırHTTP/1.1 200
  3. İstemci ile hedef: TLS el sıkışması ve veri, uçtan uca; proxy yalnızca aktarır

Kimlik bilgileri geçersizse proxy genellikle 407 yanıtı verir.

SOCKS5: el sıkışma

Yöntem seçilir, kimlik doğrulanır, sonra bağlantı istenir.

İstemciProxy sunucusu
  1. İstemci: yöntem teklifiVER 5, yöntem listesi
  2. Sunucu: yöntem seçimiVER 5, seçilen yöntem
  3. İstemci: kullanıcı adı ve şifreVER 1, UNAME, PASSWD
  4. Sunucu: kimlik doğrulama sonucuVER 1, STATUS 00 (başarılı)
  5. İstemci: bağlantı isteği (CONNECT)VER 5, CMD CONNECT, example.com:443
  6. Sunucu: yanıtVER 5, REP 00 (başarılı)

Kimlik doğrulama başarısız olursa sunucu sıfırdan farklı bir durum değeri gönderip bağlantıyı kapatır; bu bir HTTP durum kodu değildir.

HTTP proxy CONNECT tüneli ile SOCKS5 el sıkışmasının adımları (şematik gösterim).

Kimlik doğrulama ve hata görünümü

Yanlış kullanıcı adı ya da şifrede iki protokol farklı davranır. Bu fark, sorun gidermede hangi mesajı arayacağınızı belirler.

Kimlik doğrulama ve hata görünümü: HTTP proxy ile SOCKS5
DurumHTTP proxySOCKS5
Yanlış kimlik bilgisiGenellikle 407 Proxy Authentication Required ve bir Proxy-Authenticate başlığı döner; davranış proxy yazılımına göre değişebilir.RFC 1929'a göre sunucu sıfırdan farklı bir durum değeri döndürür ve bağlantıyı kapatır. HTTP durum kodu yoktur.
Kimlik bilgisinin hatta görünümüBasic kimlik doğrulama base64 ile kodlanır; bu şifreleme değildir.Kullanıcı adı ve şifre açık metin olarak gönderilir; RFC bu yüzden dinlenebilir hatlarda kullanmamayı önerir.
Hedefe ulaşılamamasıProxy yazılımına göre HTTP 5xx gibi bir yanıt.Ağa ulaşılamıyor, hedef sunucuya ulaşılamıyor, bağlantı reddedildi gibi ayrı yanıt kodları.

407'yi görüyorsanız proxy'nin HTTP konuştuğundan emin olabilirsiniz; SOCKS5'te aynı sorun bağlantının sessizce kapanması ya da kütüphanenin kendi hata mesajı olarak görünür. Adım adım kontrol için mobil proxy sorun giderme rehberine bakın.

Bir başka sık hata protokolü karıştırmaktır. Adres ve port tek başına hangi protokolün konuşulduğunu söylemez; bir SOCKS5 sunucusuna HTTP proxy şemasıyla bağlanırsanız ya da tersini yaparsanız sonuç çoğunlukla zaman aşımı, bağlantı sıfırlanması ya da anlamsız bir yanıttır. Bağlantı bilgilerinizdeki protokolle istemcinizin şemasını eşleştirin.

Kimlik doğrulama tek yol da değildir. Kullanıcı adı ve şifre yerine proxy yalnızca kaynak IP adresinize bakıp erişime izin verebilir; buna IP yetkilendirmesi (whitelist) denir. Ürün sayfalarında Mobil Proxy için kullanıcı adı ve şifreye ek olarak IP whitelist yetkilendirmesi sağlayıcı beyanı olarak belirtilir. Hangi yöntemin hangi pakette geçerli olduğunu sipariş öncesinde teyit edin.

Şifreleme: hangisi koruyor?

HTTPS siteler için içerik, protokol ne olursa olsun istemci ile web sitesi arasında uçtan uca şifrelidir. Proxy yalnızca şifreli baytları aktarır. Proxy ile aranızdaki hat ise ayrı bir konudur: kimlik bilgileriniz bu hatta HTTP Basic ile base64 olarak ya da SOCKS5'te açık metin olarak gider.

Proxy sunucusunun genel olarak görebildiği bilgiler
DurumProxy'nin görebildiğiGöremediği
Düz HTTP isteği, HTTP proxy ileAdres, başlıklar ve içerik.Yok: içerik şifresizdir.
HTTPS isteği, HTTP proxy ile (CONNECT)Hedef alan adı ve port, bağlantının ne zaman kurulduğu ve ne kadar veri aktığı.Sayfa yolu ve şifreli içerik.
Herhangi bir istek, SOCKS5 ileHedef adres ya da alan adı ve port.HTTPS ise şifreli içerik; düz HTTP ise içerik okunabilir.

Tablo protokollerin genel çalışmasını anlatır; herhangi bir sağlayıcının kayıt tutup tutmadığı hakkında bilgi vermez.

Yaygın yanlış

“SOCKS5 trafiği şifreler” ya da “HTTP proxy HTTPS taşıyamaz” cümleleri doğru değildir. Proxy protokolü yalnızca aktarma biçimini belirler; gizlilik için hedefle HTTPS kullanmak ve kimlik bilgilerinizi güvenli saklamak gerekir.

DNS nerede çözülür?

HTTP proxy ile HTTPS isteğinde istemci CONNECT satırına alan adını yazar; adı proxy çözer. SOCKS5'te ise iki yol vardır: istemci alan adını proxy'ye gönderirse proxy çözer, istemci adı kendi çözüp IP gönderirse yerel DNS kullanılır.

curl'de bu fark şema ile belirlenir: socks5:// yerel çözümleme, socks5h:// ise proxy tarafında çözümleme anlamına gelir. Bu bir RFC kuralı değil, curl'ün ortaya koyduğu ve birçok kütüphanenin izlediği bir kuraldır. Yerel DNS sorgularının internet servis sağlayıcınız tarafından görülmesini istemiyorsanız socks5h kullanın.

Bash

# HTTP proxy (HTTPS siteler için CONNECT tüneli otomatik açılır)
curl -x "http://KULLANICI_ADI:SIFRE@proxy.example.com:PORT" https://example.com/

# SOCKS5, alan adı proxy tarafında çözülür
curl -x "socks5h://KULLANICI_ADI:SIFRE@proxy.example.com:PORT" https://example.com/
curl ile HTTP proxy ve SOCKS5 kullanımı

Python

import requests

# Adres, port ve kimlik bilgileri paketinizin bağlantı bilgilerinde yer alır.
http_proxy = "http://KULLANICI_ADI:SIFRE@proxy.example.com:PORT"
socks_proxy = "socks5h://KULLANICI_ADI:SIFRE@proxy.example.com:PORT"

# HTTP proxy
yanit = requests.get(
    "https://example.com/",
    proxies={"http": http_proxy, "https": http_proxy},
    timeout=20,
)
print(yanit.status_code)

# SOCKS5 için: pip install "requests[socks]"
yanit = requests.get(
    "https://example.com/",
    proxies={"http": socks_proxy, "https": socks_proxy},
    timeout=20,
)
print(yanit.status_code)
Python requests ile HTTP proxy ve SOCKS5

Özel karakterler

Şifrenizde @, :, / ya da # gibi karakterler varsa adresin içine yazarken yüzde kodlaması gerekir; aksi halde istemci adresi yanlış ayrıştırır ve kimlik doğrulama başarısız görünür. Geliştirici örnekleri için geliştiriciler sayfasına da bakabilirsiniz.

UDP ve tarayıcılar

UDP ASSOCIATE komutu SOCKS5'in bir parçasıdır, ancak bir proxy sunucusunun bunu uygulaması zorunlu değildir ve her istemci kullanmaz. Klasik HTTP proxy UDP taşımaz. Ürün sayfalarında Mobil Proxy ve Datacenter Proxy için SOCKS5 üzerinden UDP desteği sağlayıcı beyanı olarak belirtilir; tarayıcılar ve cURL SOCKS5 üzerinden UDP göndermez.

Tarayıcıda WebRTC kullanan sayfalar ayrıca dikkat ister. RFC 8828, klasik bir proxy ayarlı olsa bile doğrudan internet erişimine izin veriliyorsa WebRTC'nin STUN kontrollerinin proxy'yi atlayıp istemcinin gerçek genel IP adresini gösterebileceğini belirtir. Tarayıcınızın davranışını kendiniz sınayın; bunun için IP Adresim ve Proxy Kontrol araçlarından başlayabilirsiniz.

Hangisini ne zaman seçmeli?

İhtiyaca göre protokol seçimi
DurumDaha doğal seçimNeden
Tarayıcı, requests, curl gibi HTTP kullanan istemcilerHTTP proxyİstemciler HTTP proxy ayarını yerleşik destekler; HTTPS CONNECT ile taşınır.
HTTP dışı TCP uygulamalarıSOCKS5Uygulama katmanına bağlı değildir.
UDP trafiği gereken uygulamaSOCKS5 (ürün destek belirtiyorsa)UDP ASSOCIATE gerekir; uygulamanızın bunu kullandığını ayrıca doğrulayın.
DNS sorgularının proxy tarafında çözülmesisocks5h ya da HTTP proxy ile alan adıHedef adı için yerel DNS sorgusu beklenmez; tarayıcıların başka sorgularını ayrıca sınayın.
Üründe yalnızca bir protokol sunuluyorsaSunulan protokolSeçim ürüne göre sınırlıdır; sipariş öncesi kontrol edin.

Bu tablo bir performans ya da güvenlik sıralaması değildir.

Pratikte çoğu tarayıcı ve betik işi HTTP proxy ile yürütülebilir. SOCKS5'e geçmek için somut bir gerekçeniz olsun: HTTP dışı bir protokol, UDP ya da istemcinizin yalnızca SOCKS desteklemesi gibi.

Ürün tarafındaki kısıtlar da belirleyicidir. Sağlayıcı beyanına göre Rotating Mobil Proxy'nin Türkiye paketlerinde SOCKS5 sunulmaz ve IPv6 Proxy için SOCKS5 belirtilmez; bu durumda HTTP proxy kullanırsınız. Seçim yapabildiğiniz paketlerde protokolü sipariş sırasında belirlersiniz. Sonradan değiştirilip değiştirilemediği yayımlanmamıştır, bu yüzden ihtiyacınızı baştan netleştirin.

Sık yapılan hatalar

  1. Protokolü karıştırmak: HTTP proxy bilgisini SOCKS5 şemasıyla girmek ya da tersini yapmak.
  2. DNS'i gözden kaçırmak: socks5:// ile alan adı yerelde çözülür; proxy tarafında çözülmesini istiyorsanız socks5h:// kullanın.
  3. Özel karakterleri kodlamamak: şifredeki @ ya da / adresi bozar ve kimlik doğrulama hatası gibi görünür.
  4. UDP beklemek: tarayıcıdan ya da cURL'den SOCKS5 üzerinden UDP çıkmaz.
  5. 407'yi arıza sanmak: 407 bir kimlik doğrulama istemidir ve proxy'nin yanıt verdiğini gösterir; önce kullanıcı adı ile şifreyi kontrol edin.

Bu kontrolleri sırayla yapmak çoğu bağlantı sorununun kaynağını bulmanıza yardım eder. Mobil proxy'yi yeni öğreniyorsanız önce mobil proxy nedir rehberine, otomatik IP değişimiyle çalışacaksanız rotating mobil proxy nedir rehberine bakın.

Protokol nerede seçilir?

HTTP ve SOCKS5 ayrı bir paket değildir; proxy'ye bağlanma yöntemidir. Sipariş formunda “Protokol Türü” alanı yalnızca Türkiye ISP paketlerinde ve Türkiye Mobil Proxy'nin haftalık ile aylık paketlerinde bulunur. Diğer ürünlerde seçim alanı yoktur.

Protokollerin hangi üründe nasıl sunulduğu
ÜrünProtokol bilgisi
Türkiye ISP Proxy; Türkiye Mobil Proxy haftalık ve aylıkSipariş formunda HTTP ya da SOCKS5 seçilir.
Mobil Proxy günlük paketler ve yurt dışı paketlerFormda protokol alanı yoktur. Hizmetin HTTP(S) ya da SOCKS5 ile kullanılabildiği ürün sayfalarında belirtilir; protokolün size nasıl verileceğini sipariş öncesinde WhatsApp'tan teyit edin.
Rotating Mobil ProxyTürkiye paketleri: HTTP ve HTTPS, SOCKS5 yok. Yurt dışı paketleri: HTTP, HTTPS ve SOCKS5 (sağlayıcı beyanı).
IPv6 ProxyHTTP(S) belirtilir; SOCKS5 belirtilmez.

Operatör, lokasyon ve özellik bilgileri ürün sayfalarında belirtilen sağlayıcı bilgilerine dayanır; ölçülmüş bir sonuç ya da taahhüt değildir. Tüm ürünler için karşılaştırma tablosu HTTP & SOCKS5 sayfasındadır.

Bağlantıyı kurduktan sonra HTTP Proxy Kontrol ya da SOCKS5 Proxy Kontrol aracıyla erişimi sınayabilirsiniz. Ayarları adım adım görmek için mobil proxy nasıl kullanılır rehberini okuyun.

Sık sorulan sorular

Tüm sorular

Kaynaklar

  • RFC 9110: HTTP Semantics (bölüm 9.3.6 CONNECT, bölüm 15.5.8 407).
  • RFC 1928: SOCKS Protocol Version 5.
  • RFC 1929: SOCKS5 için kullanıcı adı ve şifre doğrulaması.
  • RFC 7239: Forwarded HTTP uzantısı.
  • RFC 8828: WebRTC IP adresi işleme gereksinimleri.
  • curl el kitabı: --socks5 ve --socks5-hostname seçenekleri.

Satın alma adımı

Paketleri inceleyin

Bu düğme ISP Proxy sayfasına gider; Türkiye ISP paketlerinde protokolü sipariş formunda seçersiniz. Mobil paketler için Mobil Proxy sayfasına bakın.

Satın alma, güvenli ödeme sayfasında tamamlanır.

WhatsApp'tan sorun (WhatsApp, yeni sekmede açılır)+90 850 550 34 60