SOCKS5 vs HTTP vs HTTPS proxy: khác nhau thế nào

Mục lục

SOCKS5 vs HTTP vs HTTPS proxy khác nhau thế nào - protocol stack so sánh
3 protocol proxy phổ biến HTTP, HTTPS (CONNECT), SOCKS5 - khác biệt về layer, encryption, use case

Khi mua proxy bạn thấy có lựa chọn HTTP, HTTPS, SOCKS5 và có khi SOCKS4 - không phải marketing fluff mà là 3 protocol thực sự khác nhau ở tầng OSI, cách handshake, encryption, và khả năng tunnel UDP. Bài này giải thích kỹ thuật rõ ràng cho dev và user không chuyên: HTTP proxy hoạt động sao, HTTPS CONNECT khác gì, SOCKS5 handshake thế nào, khi nào dùng cái nào, và vì sao TND khuyến nghị SOCKS5 cho hầu hết user.

1. Vấn đề: tại sao có nhiều loại proxy protocol

Một proxy server chuyển tiếp traffic từ client (bạn) đến server đích (Google, Etsy, etc.). Có nhiều cách "chuyển tiếp" - khác nhau ở:

  • Tầng OSI: proxy hoạt động ở layer mấy (4, 5, 7)
  • Protocol awareness: proxy có hiểu HTTP/HTTPS hay không
  • Encryption: traffic giữa client và proxy có encrypt hay không
  • Authentication: hỗ trợ User/Pass, IP whitelist, GSSAPI
  • UDP support: tunnel UDP hay chỉ TCP
  • IPv6: hỗ trợ địa chỉ IPv6 hay chỉ IPv4

Bốn chuẩn proxy phổ biến 2026: HTTP, HTTPS (CONNECT), SOCKS4, SOCKS5.

2. HTTP proxy - cơ bản, không encrypt

HTTP proxy là dạng cũ nhất, hoạt động ở Layer 7 (Application). Proxy đọc và parse HTTP request, có thể modify header, cache, log.

Cách hoạt động

[ CLIENT ] ──→ [ HTTP PROXY ] ──→ [ SERVER WEB ]
   |              |                  |
   | GET / HTTP/1.1
   | Host: example.com
   |
   |     Proxy đọc + parse + forward
   |     có thể modify, cache
   |
   |                                 HTTP/1.1 200 OK
   |                                 Content-Type: text/html
   |     Forward về client

Đặc điểm

  • Hiểu HTTP: Proxy parse header, biết URL, biết method
  • Cache được: Proxy enterprise cache static asset, giảm bandwidth
  • Modify được: Proxy có thể thêm/sửa header (vd: thêm X-Forwarded-For)
  • Không encrypt: Traffic giữa client và proxy là plain HTTP - admin proxy đọc được hết
  • Chỉ TCP: Không UDP
  • HTTPS pass-through: Khi client request HTTPS, dùng method CONNECT (xem mục 3)

Khi nào dùng HTTP proxy

  • App legacy chỉ support HTTP proxy (vd: phần mềm cũ thập niên 2000)
  • Enterprise web filter / cache (Squid, HAProxy)
  • Reverse proxy (Nginx, Cloudflare)
  • Browser proxy khi không cần SOCKS5

3. HTTPS proxy (HTTP CONNECT) - tunnel TLS

Khi client (browser) cần truy cập HTTPS site qua HTTP proxy, dùng method CONNECT để proxy mở 1 tunnel TCP thuần và pass-through traffic TLS đã encrypt.

[ CLIENT ] ──→ [ PROXY ] ──→ [ HTTPS SERVER ]
   |              |              |
   | CONNECT example.com:443 HTTP/1.1
   |
   |     200 Connection Established
   |
   |     ── TLS HANDSHAKE PASS-THROUGH ──
   |     (proxy không thấy được nội dung)
   |
   |     [ TLS encrypted data ]  →  [ TLS encrypted data ]
   |     ←  [ TLS encrypted ]    ←

Khi cấu hình "HTTPS proxy", bạn vẫn dùng cùng HTTP proxy server, nhưng client gọi CONNECT method thay GET/POST. Đây là cùng 1 proxy, không phải proxy khác.

Khái niệm "HTTPS proxy" gây nhầm lẫn

2 nghĩa khác nhau của thuật ngữ "HTTPS proxy":

  1. Proxy hỗ trợ HTTP CONNECT để tunnel HTTPS (mục 3 này) - đây là nghĩa phổ biến
  2. Proxy có TLS giữa client và proxy (encrypted channel cho proxy auth + traffic metadata) - đây là TLS-wrapped proxy, hiếm hơn

TND khi nói "HTTPS proxy" tức là nghĩa #1 - proxy hỗ trợ CONNECT để tunnel HTTPS sites.

4. SOCKS4 - cũ, deprecated

SOCKS4 (RFC 1928, 1992) là protocol proxy Layer 5 (Session), không parse HTTP. Đặc điểm:

  • Chỉ TCP
  • Chỉ IPv4
  • Authentication chỉ qua username (không password)
  • Phiên bản SOCKS4a thêm domain name resolution

SOCKS4 hiện đã deprecated, ít provider hỗ trợ. Mọi tool hiện đại dùng SOCKS5.

5. SOCKS5 - hiện đại, hỗ trợ UDP, auth, IPv6

SOCKS5 (RFC 1928, 1996) là phiên bản nâng cấp mạnh:

Tính năng SOCKS5 Chi tiết
TCP support
UDP support (SOCKS4 không)
IPv4
IPv6
Domain resolution Server-side hoặc client-side (SOCKS5h)
Authentication methods No-auth, Username/Password, GSSAPI, Custom
Encryption Có thể wrap qua TLS (SOCKS5 over TLS)
BIND command Có (cho protocol cần callback như FTP active)

Handshake SOCKS5

[ CLIENT ]                          [ SOCKS5 PROXY ]
    |                                       |
    |── 1. Greeting: list auth methods ────→|
    |   [ version=5, n_methods=2,           |
    |     methods=(NoAuth, User/Pass) ]     |
    |                                       |
    |←── 2. Server choose auth ────────────|
    |   [ version=5, method=User/Pass ]     |
    |                                       |
    |── 3. Auth (if User/Pass) ────────────→|
    |   [ user="us01_S21130_P60",           |
    |     pass="..." ]                      |
    |                                       |
    |←── 4. Auth success ──────────────────|
    |                                       |
    |── 5. Connect request ───────────────→|
    |   [ command=CONNECT,                  |
    |     dst=example.com,                  |
    |     port=443 ]                        |
    |                                       |
    |←── 6. Reply success + bound port ────|
    |                                       |
    |── 7. Data exchange (raw TCP/UDP) ────→|
    |←─────────────────────────────────────|

Variant SOCKS5h (DNS qua proxy)

socks5:// = client resolve DNS local rồi gửi IP cho proxy.
socks5h:// (h = hostname) = client gửi domain name nguyên trạng, proxy resolve DNS giúp.

SOCKS5h tránh DNS leak - browser hoặc tool sẽ KHÔNG resolve domain qua DNS local (ISP nhà bạn), thay vào đó proxy resolve. Đây là cấu hình ưu tiên cho privacy.

6. Bảng so sánh chi tiết

Tiêu chí HTTP HTTPS (CONNECT) SOCKS4 SOCKS5
OSI Layer 7 (Application) 4 (Transport, tunnel) 5 (Session) 5 (Session)
Parse HTTP Không (tunnel) Không Không
TCP
UDP Không Không Không
IPv6 Có (HTTP/1.1+) Không
Auth Username/Pass Basic Auth header Basic Auth Username only Native
DNS server-side N/A N/A SOCKS4a có SOCKS5h
Encryption client→proxy Không Không (tunnel encrypt) Không Không native (cần TLS wrap)
Modify header Không (tunnel) Không Không
Cache content Không Không Không
Game/VoIP support Không Không Không Có (UDP)
Latency overhead Cao (parse HTTP) Thấp (tunnel) Thấp Thấp

7. Khi nào dùng HTTP, khi nào SOCKS5

Dùng HTTP/HTTPS proxy khi:

  • App chỉ hỗ trợ HTTP proxy (vài app legacy)
  • Enterprise web filter cần parse + log + cache HTTP traffic
  • Reverse proxy server-side (Nginx, HAProxy, Cloudflare)
  • Bạn cần modify header HTTP (vd: thêm Authorization)
  • Tools chỉ có HTTPS_PROXY env variable (vd cURL, wget, npm)

Dùng SOCKS5 khi:

  • App hỗ trợ SOCKS5 (mọi browser, antidetect, mobile app modern)
  • Cần tunnel UDP (game, VoIP, DNS, WebRTC)
  • Cần tránh DNS leak (dùng SOCKS5h)
  • Cần IPv6 support
  • Cần latency thấp (proxy không parse HTTP header)
  • Multi-protocol app (browser HTTP + Discord UDP + game)

8. Vì sao TND khuyến nghị SOCKS5

TND cấp cả 2 endpoint cho mỗi proxy IPv4 dedicated:

  • Port HTTP (vd 8000 hoặc 2021)
  • Port SOCKS5 (vd 1080 hoặc 2020)

Khuyến nghị dùng SOCKS5 vì:

  1. Latency thấp hơn: Không parse HTTP header, overhead nhỏ. Đặc biệt rõ rệt với traffic high-volume (antidetect mở 20+ tab).
  2. UDP support: Quan trọng cho WebRTC (video call), DNS UDP, game online. HTTP proxy block UDP hoàn toàn.
  3. Anti-DNS leak: SOCKS5h cho phép browser send domain raw, proxy resolve - không lộ domain query qua DNS ISP.
  4. IPv6: Tương lai (mặc dù hiện tại TND chỉ bán IPv4).
  5. Protocol-agnostic: Tunnel mọi traffic TCP/UDP, không lock HTTP.

HTTP fallback chỉ dùng khi app/tool không hỗ trợ SOCKS5 (rare trong 2026).

9. Test thử mỗi loại với cURL

cURL là tool đơn giản nhất để test proxy. Có sẵn trên macOS, Linux, có thể cài Windows.

Test trực tiếp (không proxy)

curl -s https://ipinfo.io
# Trả về IP nhà bạn

Test qua HTTP proxy

curl -x http://us01_S21130_P60:••••••••@23.155.xxx.xxx:8000 \
     -s https://ipinfo.io
# Trả về IP TND

Test qua HTTPS proxy (CONNECT)

# HTTPS proxy thực chất cũng là HTTP proxy với CONNECT method
# cURL tự dùng CONNECT khi URL đích là HTTPS
curl -x http://us01_S21130_P60:••••••••@23.155.xxx.xxx:8000 \
     -s https://ipinfo.io
# Trả về IP TND, qua CONNECT tunnel

Test qua SOCKS5

curl --socks5 us01_S21130_P60:••••••••@23.155.xxx.xxx:2020 \
     -s https://ipinfo.io
# Hoặc:
curl -x socks5://us01_S21130_P60:••••••••@23.155.xxx.xxx:2020 \
     -s https://ipinfo.io

Test qua SOCKS5h (DNS qua proxy)

curl -x socks5h://us01_S21130_P60:••••••••@23.155.xxx.xxx:2020 \
     -s https://ipinfo.io
# 'h' = resolve DNS qua proxy, không qua DNS local

Measure latency

curl -x socks5h://us01_S21130_P60:••••••••@23.155.xxx.xxx:2020 \
     -o /dev/null -s \
     -w 'DNS: %{time_namelookup}s | Connect: %{time_connect}s | Total: %{time_total}s\n' \
     https://www.google.com

# Output mẫu:
# DNS: 0.001s | Connect: 0.180s | Total: 0.450s

Tổng kết

3 protocol HTTP/HTTPS/SOCKS5 khác nhau ở layer OSI, khả năng UDP, IPv6, DNS resolution, latency. Với 95% use case của user TND (browser, antidetect, AI agent, automation, mobile app), SOCKS5 là lựa chọn tốt nhất. HTTP/HTTPS là fallback cho app legacy hoặc tool đặc biệt. SOCKS4 đã deprecated, không khuyến nghị.

Tham khảo thêm:

Mua Proxy IPv4 Dedicated US + VN tại TND

Flat 95.000 VNĐ/IP/tháng. Hỗ trợ ĐẦY ĐỦ cả SOCKS5 (ưu tiên) và HTTP/HTTPS - cùng IP, 2 port khác nhau. Bạn có thể dùng SOCKS5 cho hầu hết tool, HTTP fallback cho app legacy. Setup 60 giây sau thanh toán. Support tiếng Việt 24/7.

Mua proxy tại TND
Xem chi tiết

Tham gia nhóm Vibe Coder Việt Nam

Bạn đang code cùng Claude, Codex, Gemini, Cursor hay Windsurf? Vào nhóm Facebook để trao đổi tip, debug giúp nhau, chia sẻ workflow vibe coding, và update tool mới mỗi tuần. Cộng đồng dev tự host stack đang grow nhanh tại Việt Nam.

Join nhóm trên Facebook

Chia sẻ bài viết