Should I Use SOCKS or HTTP Proxies

So You’ve probably come across the different terms assigned to distinct versions of proxy servers and wondered which is the best for your business.

Perhaps you’ve seen these proxies – SOCKET4, SOCKET4a or SOCKS5 generally referred to as SOCKS (secure socket) proxy servers as opposed to the more common HTTP connect proxy servers. First lets learn a little bit about the different socket types that are available.

2.1. Socket types
Sockets are typed according to the communication properties visible to a user. Processes are presumed to communicate only between sockets of the same type, although there is nothing that prevents communication
between sockets of different types should the underlying communication protocols support this. Four types of sockets currently are available to a user. A stream socket provides for the bidirectional, reliable, sequenced, and unduplicated flow of data without record boundaries. Aside from the bidirectionality of data flow, a pair of connected stream sockets provides an interface nearly identical to that of pipes†.

A datagram socket supports bidirectional flow of data which is not promised to be sequenced, reliable, or unduplicated. That is, a process receiving messages on a datagram socket may find messages duplicated, and, possibly, in an order different from the order in which it was sent. An important characteristic of a datagram socket is that record boundaries in data are preserved. Datagram sockets closely model the facilities found in many contemporary packet switched networks such as the Ethernet.

A raw socket provides users access to the underlying communication protocols which support socket abstractions.

These sockets are normally datagram oriented, though their exact characteristics are dependent on the interface provided by the protocol. Raw sockets are not intended for the general user; they have been provided mainly for those interested in developing new communication protocols, or for gaining access to some of the more esoteric facilities of an existing protocol. The use of raw sockets is considered in section 5.

A sequenced packet socket is similar to a stream socket, with the exception that record boundaries are preserved. This interface is provided only as part of the NS socket abstraction, and is very important in most serious NS applications. Sequenced-packet sockets allow the user to manipulate the SPP or IDP headers on a packet or a group of packets either by writing a prototype header along with whatever data is to be sent, or by specifying a default header to be used with all outgoing data, and allows the user to receive the headers on incoming packets. The use of these options is considered in section 5.

Another potential socket type which has interesting properties is the reliably delivered message socket. The reliably delivered message socket has similar properties to a datagram socket, but with reliable delivery

Source: http://www.scs.stanford.edu/nyu/03sp/lab/21.ipc.pdf

So Should I Choose HTTP or SOCKS Proxies?

Well the different between these proxies is simply the protocol which is used, and of course as you’d expect the HTTP proxy uses the HTTP protocol. Most people are so used to seeing these addresses that it probably doesn’t even register that HTTP is the protocol which underlies the internet. It is based on a client-server model which works around simple requests and responses. Generally the client is the PC where the web browser is run and the server is the web server itself which serves the pages.

HTTP proxies are therefore built for the HTTP protocol and works with it’s specific functions. It’s why the majority of proxies you see online are HTTP proxies because they’re built for the internet protocol – HTTP.

However don’t be confused that you can’t use SOCKS proxies just because they’re not built based on HTTP. That’s actually not the case, they’re lower level proxies which are not built with any specific protocol in mind. They are not reliant on any higher level protocol to function and are thus not tied to a specific port or connection type.

Socks Proxies don’t understand the data they are being used to transfer and are generally a little faster because of lower overheads. Also in the context of privacy, SOCKS proxies are generally a little more secure but that depends largely on who is running the proxy and how it’s configured.

Some tools or applications won’t work with HTTP proxies so often your choice will be limited to HTTP. Downloading large amounts of data quickly and securely then your starting point is probably best to be SOCKS proxies. The increased speed is often the major differential simply because the faster the connection the more information you can upload or download using the proxy server.

Leave a Reply