Sipariş: saglamproxy.com

Giriş Yap ↗

Proxy Teknolojileri

HTTP ve SOCKS5 proxy farkı: hangi protokol ne zaman kullanılır

HTTP proxy HTTP isteğini anlar ve gerektiğinde CONNECT ile tünel açar; SOCKS5 ise uygulama protokolünden bağımsız çalışan genel amaçlı bir aktarıcıdır. Bu yazı iki protokolün farklarını ve seçim ölçütlerini teknik düzeyde karşılaştırır.

3 dk okuma

Bir proxy hizmeti seçerken karşınıza çoğunlukla iki protokol çıkar: HTTP(S) ve SOCKS5. İkisi de uygulamanızın trafiğini bir ara sunucu üzerinden geçirir, ancak ne kadarını anladıkları ve neyi taşıyabildikleri bakımından farklıdırlar. Bu fark; kullandığınız yazılımın uyumluluğunu, ad çözümünün nerede yapıldığını ve hata ayıklama biçimini doğrudan etkiler.

HTTP proxy nasıl çalışır

HTTP proxy, HTTP protokolünü konuşan bir aracıdır. Düz HTTP hedefler için istemci isteği proxy'ye tam adresle gönderir (GET http://example.com/ HTTP/1.1). Proxy isteği okur, hedefe iletir ve cevabı geri döner. Proxy bu sırada istek başlıklarını görebilir ve değiştirebilir.

HTTPS hedeflerde durum farklıdır. İstemci önce proxy'ye CONNECT example.com:443 HTTP/1.1 isteği gönderir. Proxy hedefe bir TCP bağlantısı açar ve 200 cevabı verir; sonrasında proxy bu bağlantıyı bir tünel olarak ele alır ve TLS el sıkışması istemci ile hedef arasında doğrudan gerçekleşir. Proxy tünelin içindeki HTTPS içeriğini okuyamaz.

Metin
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
Proxy-Authorization: Basic <kimlik-bilgisi>

HTTP/1.1 200 Connection established
HTTPS hedef için CONNECT akışının özeti

HTTP proxy kimlik doğrulaması Proxy-Authorization başlığıyla yapılır. Kimlik bilgisi eksik ya da hatalıysa proxy 407 Proxy Authentication Required döner. Bu yüzden HTTP proxy sorunlarında ilk bakılacak yer çoğu zaman durum kodudur.

SOCKS5 proxy nasıl çalışır

SOCKS5 bir uygulama protokolünü yorumlamaz. İstemci hedef adresi ve portu bildirir, proxy bağlantıyı açar, sonrasında iki yön arasında baytlar aktarılır. HTTP, HTTPS, SMTP, FTP, SSH ve özel TCP protokolleri aynı yolla taşınabilir. Protokolün adımları SOCKS5 proxy nasıl çalışır yazısında ayrıntılıdır.

Yan yana karşılaştırma

İki protokolün karşılaştırması
ÖzellikHTTP proxySOCKS5 proxy
Çalışma düzeyiHTTP'yi anlarUygulama protokolünden bağımsız
Taşıyabildiği trafikHTTP, CONNECT ile HTTPS ve diğer TCP tünelleriHer TCP trafiği; UDP, hizmet destekliyorsa
Kimlik doğrulamaProxy-Authorization başlığı, 407 cevabıRFC 1929 kullanıcı adı/şifre veya yöntem müzakeresi
Başlık görünürlüğüDüz HTTP'de başlıkları görürİçeriği yorumlamaz
Alan adı çözümüİstekteki ad proxy tarafından çözülürŞemaya bağlı: socks5 yerel, socks5h proxy tarafı
Tipik istemci uyumuTarayıcılar, HTTP kütüphaneleri, scraping araçlarıHTTP dışı protokoller konuşan uygulamalar, genel amaçlı araçlar

Hangisini seçmeli

HTTP proxy tercih edilen durumlar

  • Trafik yalnızca web ise (tarayıcı, HTTP istemcisi, API çağrıları).
  • Kullandığınız araç yalnızca HTTP proxy ayarı sunuyorsa.
  • Hata ayıklamada HTTP durum kodlarından (407, 502, 503) yararlanmak istiyorsanız.

SOCKS5 tercih edilen durumlar

  • HTTP dışında bir TCP protokolü proxy'den geçecekse.
  • Uygulama SOCKS ayarını yerel olarak destekliyor ve HTTP proxy desteği yoksa.
  • Alan adı çözümünün proxy tarafında yapılmasını açıkça istiyorsanız (socks5h).

Kodda fark nasıl görünür

Aşağıdaki iki cURL çağrısı aynı hedefe farklı protokolle gider. Yer tutucuları kendi bilgilerinizle değiştirin.

Bash
# HTTP proxy (HTTPS hedef için CONNECT tüneli açılır)
curl --proxy http://KULLANICI:SIFRE@proxy.example.com:PORT https://api.ipify.org

# SOCKS5 proxy (alan adı proxy tarafında çözülür)
curl --proxy socks5h://KULLANICI:SIFRE@proxy.example.com:PORT https://api.ipify.org
Aynı hedef, iki farklı proxy protokolü

Python'da requests her ikisini de proxies sözlüğüyle kabul eder; SOCKS için requests[socks] eklentisi gerekir.

Python
import requests

http_proxy = "http://KULLANICI:[email protected]:PORT"
socks_proxy = "socks5h://KULLANICI:[email protected]:PORT"

for p in (http_proxy, socks_proxy):
    r = requests.get(
        "https://api.ipify.org",
        proxies={"http": p, "https": p},
        timeout=15,
    )
    print(p.split(":")[0], r.text)
requests ile iki protokolü sırayla deneme

Özet

  • HTTP proxy HTTP'yi anlar; HTTPS için CONNECT ile tünel açar ve tünel içeriğini okuyamaz.
  • SOCKS5 uygulama protokolünden bağımsızdır ve her TCP trafiğini taşıyabilir.
  • Kimlik doğrulama HTTP'de Proxy-Authorization ile, SOCKS5'te RFC 1929 ile yapılır.
  • Seçim; trafiğin türüne, kullandığınız yazılımın desteğine ve ürünün sunduğu protokollere göre yapılır.

01SIK SORULANLAR

Sık sorulan sorular

02İLGİLİ OKUMALAR

İlgili makaleler

03İLGİLİ ÜRÜNLER

Bu konuyla ilgili ürünler

Sipariş saglamproxy.com üzerinde, Türkçe arayüzde tamamlanır.
  • P-08

    HTTP & SOCKS5 Proxy

    Protokol katmanı: HTTP veya SOCKS5 seçimi sipariş sırasında. ISP Proxy ile aynı sipariş sayfası.

    • HTTP
    • SOCKS5
    • Kullanıcı / şifre
    Satın Al
  • P-01

    ISP Proxy

    ISP ağına kayıtlı statik IPv4 adresleri. HTTP veya SOCKS5, protokol sipariş sırasında seçilir.

    • IPv4
    • Statik
    • HTTP / SOCKS5
    Satın Al
  • P-04

    Residential Proxy

    GB bazlı fiyatlanan, dönen residential IP erişimi. 30 günlük paketler.

    • Rotating
    • GB paketi
    • HTTP(S) / SOCKS5
    Satın Al