It is very likely that you get on that page from the search engine... in that case please let us pay your attention that may be you were searching for HTTP proxy servers, instead of SOCKS proxy server. If you are looking for HTTP proxy servers then we would suggest you to check our partner web site FreeProxyList.org which is the best source of high quality HTTP proxy servers on the WWW (may be you have already read review articles where FreeProxyList.org was claimed as the best source among all competitors). Also in addition to the best HTTP proxy servers from FreeProxyList.org you will get Premium Proxy Switcher addon absolutely FREE which will help you to simplify proxy setup and its usage in your browser.
Despite the fact that you could be searching for HTTP proxy servers it is a good idea to read that simple explanation of SOCKS proxy servers and get the idea for what it stands for? May be you even have no idea that most popular software (messengers like ICQ, MSN, Skype or email clients Outlook, TheBat, Tthunderbird and etc.) are designed to use SOCKS proxy servers and not a regular HTTP proxy servers. Also did you know that SOCKS proxy servers are much more: faster, secure and stable?
Actually SOCKS and HTTP proxy severs, both behave in the same way. They are forwarding your requests to the destination host (address). With help of SOCKS or HTTP proxy servers you could bypass any firewall restriction and access any web site like: facebook.com, myspace.com, bebo.com, youtube.com and etc.
INTERESTING: Did you know that if one knows your IP address, he/she could get lots of information about you? He/she could get the information such as your country, your city and even your internet provider!!! If he/she knows your first name or second name it will make him/her even easier to get the rest PRIVATE information about your physical address (street, flat number, phone number and etc.). You can check what information is publicly available about you by visiting show my ip web page; your geographical positioning is included as well
So what is the actual difference between HTTP proxy server and SOCKS proxy server?
HTTP proxy server - the HTTP proxy server was originally designed to be used only with HTTP protocol. To say it even simpler, if you need to open any http:// or https:// like web address HTTP proxy servers are the best solution in 90% cases. There are almost no difference between SOCKS and HTTP proxy servers if they are used for HTTP protocol (we will speak about rare cases bit later).
SOCKS proxy servers - the SOCKS proxy servers are more flexible and do not seize you. While HTTP proxy servers could hide your IP only when you are browsing a web page, SOCKS proxy servers could help you keep your information private (your IP) even when you are using such programs like ICQ, Skype, MSN or even email clients like Outlook, TheBat, Thhunderbird.
INTERESTING: Did you know that when you are sending email, your IP is added to the mail header and the receiver could easily extract it?
That is why you should use SOCKS servers when you are chatting online or sending email to anyone. SOCKS proxy servers are designed to be used with any protocol you wish.
It is said here Bust the myth: SOCKS better than HTTP proxy that if you will use CONNECT method of HTTP proxy server then HTTP proxy server could be used for any protocol, the same like SOCKS proxy server. That definition is right but with one exception: in 90% cases HTTP proxy server limits protocols for which CONNECT method could be used. Basically CONNECT method is allowed only for HTTP protocol over SSL or https:// like web addresses. That is because HTTP proxy server filter/updates client's each request. They need to change header information before they will forward it to the destination host (address), while SOCKS proxy servers work more like an open relay. SOCKS proxy server tunnels data directly to the destination host (address) as it comes from the client, without changing anything in the source.
So that is why SOCKS servers are so useful and cannot be replaced with simple HTTP proxy servers. Also there are other advantages of SOCKS proxy servers over HTTP proxy servers! If you are interested, please keep reading... also if you are software developer we will also provide you with self-coded implementation of SOCKS4 and SOCKS5 in PHP scripts. So later you can easily use not only regular HTTP proxy servers but also SOCKS4 and SOCKS5 in your scripts. If you need a hand how to implement usage of SOCKS4 and SOCKS5 into your scripts, don't hesitate to contact us. We are here to help you!
The number 4 and 5 refers to the version of SOCKS protocol. These two versions are the most popular and became wide spread all over the world. The following new features were implemented in 5th version: various authentication mechanisms, support of UDP protocol and IPv6.
We do not think that you will ever use directly UDP protocol but there is a high chance that the program, for which you need to use proxy server, will use it. In that case nor HTTP neither SOCKS4 will work, the only solution to keep your IP hidden is to use SOCKS5.
Another advantage of SOCSK5 is various authentication mechanisms. Without authentication your SOCKS proxy server is publicly available, even if you do not want it to be a public one. As soon as you will setup SOCKS4 proxy server, any person can use it without your permissions, he/she just needs to know IP and the port of SOCKS proxy server.
INTERESTING: Did you know that all information which is sent outside secure connection (SSL) is open and available for anyone? When you are chatting, sending email, logining to your private member area at some web site and etc. you are sending all these information as plain text, so anyone who will catch an internet package could read the contents (your password or the message you just sent). That is why we recommend you to use only secure connection when you are sending some private or valuable information.
From the software developers point of view there are some changes in SOCKS5 proxy server’s protocol. After sending SOCKS protocol version which you want to use during communication, you will need to send preferable authentication mechanism to the server. If the server supports it then there will be some 'hand shake' messages. If authentication step passes successfully the rest steps remain the same like it was with SOCKS4 (with slight differences). We will see how it practically works at the end of that article.
The main advantage of SOCKS4 and SOCKS5 proxy servers over HTTP proxy servers is that they use only secure connection between client and the proxy server. That means nobody; including your internet provider or administrator of local area network cann’t see what you are actually sending or receiving. That is why SOCKS servers are so popular! They guarantee that your private information is secure and kept private.
As we already said, all SOCKS proxy servers work as open relay. That means there are no limitations for which protocols SOCKS proxy server will be used. Such no limitations allows us to use SOCKS proxy servers for creating ‘proxy chains’. If you ever heard term ‘proxy chain’ then SOCKS is that type of proxy servers which are used to create them. Here is the principle how it works, one proxy establishes connection to another one, that proxy in turn establishes connection to the next one and so on... so you could have several proxy servers chained:
Source client » SOCKS1 » SOCKS2 » SOCKS3 » SOCKS4 » Destination host
As more SOCKS proxy servers are involved in proxy chain as higher the security and privacy level. Just imagine, if someone will somehow manage to get client’s IP by checking last SOCKS4’s log file (if such exist) it will points to the IP of SOCKS3 proxy servers instead of your IP ;) SOCKS3’s log file will point to the IP of SOCKS2 and so on...
Also SOCKS proxy servers could create reverse connections. In some cases your local administrator could block all outgoing connections for security reasons. At the same time incoming connections could be kept open. In that case instead of establishing connection from your PC to SOCKS proxy server, you can ask SOCKS proxy server to establish connection with your PC. After that, communication between client and SOCKS proxy server will remain the same as if use establishes connection by his/her own.
Here are practical examples for software developer, who wants to use SOCKS4 or SOCKS5 in his/her PHP script instead of slow and less reliable HTTP proxy servers.
PHP source codes will come soon.
INTERESTING: please be aware that curl_multi_* functions do not fully support SOCKS5 (threads will interrupt each other and everything will work as a single thread). That is well known bug since 2005 but no one is going to fix it, including the developers of curl. When we contacted them regarding that bug, they asked for 1500-2500 USD to fix it. As for SOCKS4 they are working without any problem. We personally think that this bug was willfully left... So if you are looking for multi-threading support for SOCKS5 please contact us. We will supply you with all necessary information how to implement that with socket_* absolutely FREE.