HTTP vs SOCKS5 proxy: which protocol to choose

Published 6 min read

In short

An HTTP proxy understands web requests and opens a tunnel with the CONNECT method; SOCKS5 carries a TCP connection without reading its content. Both work for websites, so the choice depends on your software: connect browsers and Playwright over HTTP, and Telegram on a phone over SOCKS5. At Proxeta both share one pool and one login: HTTP on port 8080, SOCKS5 on port 1080, no UDP.

Proxeta residential and mobile proxies have two ports: 8080 for HTTP and 1080 for SOCKS5. They share the login, the password and the pool of addresses, so the choice of protocol depends not on your plan but on what your software can do. This article covers how each protocol works, who resolves site names in each, why UDP and QUIC do not pass through the gateway, and what to choose for common tasks.

How an HTTP proxy works

An HTTP proxy takes requests in HTTP. For an http:// site, your software sends the proxy an ordinary request with the full page address, and the proxy fetches the page from the site and returns the response. In this case the proxy sees all of the content.

For an https:// site, your software first asks the proxy to open a tunnel:

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

The proxy connects to example.com on port 443 and answers with code 200, after which your software encrypts the traffic directly with the site. The proxy sees the site’s name and the amount of data, but not the page addresses or their content. If the username or password is wrong, the proxy answers with 407 Proxy Authentication Required.

The username and password travel in the Proxy-Authorization header in base64. That is not encryption: the string in the example decodes to login-country-us:password. The logins in the examples are shortened: a string from the Dashboard also carries a filter parameter such as -filter-medium, so copy it whole.

How SOCKS5 works

SOCKS5 does not parse HTTP. Your software greets the proxy, signs in with a username and password (a separate step of the protocol, defined in RFC 1929) and asks to be connected to a host and port. From then on, the proxy passes bytes both ways without knowing what is inside.

SOCKS5 also sends the username and password in plain text. Neither SOCKS5 nor an HTTP proxy with the http:// scheme encrypts the connection between you and the proxy, so only HTTPS between your software and the site protects the content.

The SOCKS5 protocol itself is not tied to the web. We document connecting to websites and have not tested other protocols through the gateway: if your software needs non-web traffic, try it on a small amount first.

How HTTP and SOCKS5 differ

ParameterHTTP proxySOCKS5
What it carriesWeb requests: http:// directly, https:// through a CONNECT tunnelA TCP connection, without reading it
Who resolves the site’s nameThe proxyDepends on the software: the proxy with socks5h://, your device with socks5://
Sign-inUsername and password in a header; a failure returns 407Username and password as a separate step; a failure is a SOCKS server rejection
Encryption to the proxyNoNo
UDPNoIn the protocol, but it does not pass through the Proxeta gateway
Works with a username and password inChromium through Playwright, curl, Python libraries, the Proxeta Proxy Manager extension, Telegram Desktopcurl, requests with the PySocks package, Telegram on phones and computers; not in Chromium through Playwright
Port at Proxeta80801080

DNS: who turns the site’s name into an address

With an HTTP proxy, the protocol settles this: the CONNECT request and the request for an http:// site carry the name, and the proxy finds the address.

In SOCKS5, the software can send either the name or an address it has already looked up. In curl and requests the scheme decides: with socks5h:// the proxy resolves the name, with socks5:// your device does. Chromium with a SOCKS5 proxy sends the name. In other software, look in the settings for an option such as “DNS through proxy”.

Why it matters:

  • Location. A DNS answer depends on where the resolver is. Large sites and CDNs return a server near it, so when your device resolves the name, the request may go to a server for your region rather than the exit region.
  • Privacy. If your device resolves the names, your DNS provider sees which sites you open through the proxy.
  • Errors. If your device cannot resolve the name, a request with socks5:// fails before it reaches the site.

Why UDP and QUIC do not pass through the gateway

An HTTP proxy carries TCP only: both an ordinary request and a CONNECT tunnel are TCP connections. SOCKS5 has a UDP ASSOCIATE command for UDP, but the Proxeta gateway does not support UDP: according to the catalog, UDP is unavailable in every residential and mobile country.

What this means in practice:

  • HTTP/3 does not work through the proxy. HTTP/3 runs on QUIC, and QUIC runs on UDP. Browsers and HTTP libraries open sites through the proxy over HTTP/2 or HTTP/1.1 on TCP.
  • Calls, games and other UDP software will not go through this gateway. Depending on the software, that traffic either fails or goes out directly, bypassing the proxy.
  • Standalone DNS queries over UDP are not carried through the gateway. Let the proxy resolve names: with HTTP that happens on its own, with SOCKS5 it takes the socks5h:// scheme.

Ports and the proxy string at Proxeta

HTTP and SOCKS5 strings with the same settings differ only in the port; the username and password stay the same. The two commands below test one login over both protocols:

curl -sS --max-time 30 -w '\n' \
  --proxy http://proxy.example.invalid:8080 \
  --proxy-user 'login-country-us:password' \
  https://api64.ipify.org
curl -sS --max-time 30 -w '\n' \
  --proxy socks5h://proxy.example.invalid:1080 \
  --proxy-user 'login-country-us:password' \
  https://api64.ipify.org

The scheme must match the port: http:// with 8080, socks5h:// with 1080. Mix them up, and the connection drops or hangs right after connecting. The other parts of the string are explained in proxy string format, and curl’s errors in curl with a proxy.

You pick the protocol in the “Protocol” field when you generate proxies. For ISP proxies, the connection details are in your order in the “My proxies” tab.

The commands were run on November 5, 2026 with curl 8.7.1 through local test proxies, not through the Proxeta gateway.

Which to choose: HTTP or SOCKS5

  • A browser, Playwright or a Chrome extension → HTTP. Chromium through Playwright does not accept SOCKS5 with a username and password, and the Proxeta Proxy Manager extension works with HTTP proxies only.
  • curl, Python and other HTTP clients → either. HTTP needs no extra packages; SOCKS5 in requests needs PySocks, and in curl use the socks5h:// scheme. Examples are in proxies in Python.
  • Telegram → SOCKS5: the Android, iPhone and desktop apps accept it, while HTTP works only in Telegram Desktop. Setup is in proxy for Telegram.
  • An antidetect browser → whichever protocol it supports; what matters is that the proxy type in the profile matches the string.
  • Software that supports only one protocol → that one.
  • You need UDP → neither: the gateway does not carry UDP.

Frequently asked questions

Which is better for websites, HTTP or SOCKS5?

Both work for opening websites: the content of HTTPS pages is encrypted from your software to the site either way. Choose the protocol your software supports with a username and password. At Proxeta both use the same login and password; only the port changes: 8080 for HTTP and 1080 for SOCKS5.

Does SOCKS5 encrypt traffic?

No. Like an HTTP proxy with the http:// scheme, SOCKS5 does not encrypt the connection between you and the proxy: the username and password travel in plain text. Only HTTPS between your software and the site protects the content.

Do UDP and HTTP/3 work through Proxeta proxies?

No. The Proxeta gateway carries TCP only, and HTTP/3 runs on QUIC, which runs on UDP. Browsers and HTTP libraries open sites through the proxy over HTTP/2 or HTTP/1.1, and software that needs UDP will not work through this gateway.

Which is faster, HTTP or SOCKS5?

Both Proxeta ports lead to the same pool of addresses, and once the tunnel is open both protocols simply pass data along. We do not publish speed measurements by protocol, so choose by what your software supports.

Do I need to buy SOCKS5 separately from HTTP?

No. Proxeta residential and mobile proxies work over both protocols from one traffic balance. You pick the protocol in the “Protocol” field when you generate a string, and HTTP and SOCKS5 strings with the same settings differ only in the port.

Read next

All articles

Published 7 min read

curl with a proxy: HTTP, SOCKS5 and common errors

How to use curl with a proxy: HTTP and SOCKS5 with a username and password, socks5h vs socks5, checking the exit IP, and what 407 and Connection refused mean.

Read the article

Published 7 min read

Proxies in Python: requests, httpx and Playwright

Python proxies with a username and password: requests, httpx and Playwright, SOCKS5 via socks5h, changing the IP, and why Chromium rejects SOCKS5 auth.

Read the article