How a Proxy works
A proxy allows other computers to connect to a network indirectly through it. When a computer on the network wants to access information or a resource, it is actually the proxy who performs the communication and then transfers the result to the initial computer. In some cases this is done because direct communication is not possible and in other cases because the proxy adds additional functionality, such as keeping the results obtained (e.g., a web page) in a cache that can speed up successive matching queries. Various techniques are grouped together under this general name of proxy.
The client makes a request (e.g. via a web browser) for an Internet resource (a web page or any other file) specified by a URL.
When the proxy cache receives the request, it looks for the resulting URL in its local cache. If it finds it, it contrasts the date and time of the version of the demand page with the remote server. If the page has not changed since it was cached, it returns it immediately, thus saving a lot of traffic as it only exchanges one package to check the version. If the version is old or simply not in the cache, captures it from the remote server, returns it to the requestor, and saves or updates a copy in its cache for future requests suggests pirate proxy who offers the best proxies to access Pirate bay and not only.
The cache normally uses an algorithm to determine when a document is obsolete and should be removed from the cache, depending on its age, size and access history.
Web proxies can also filter the content of Web pages served. Some applications that attempt to block offensive Web content are implemented as Web proxies. Other types of proxies change the format of web pages for a specific purpose or audience, for example, to display a page on a mobile phone or PDA. Some network operators also have proxies to intercept viruses and other hostile content served by remote Web pages.
From the point of view of the local network user, the system works as if it really had direct access to the Internet. The user immediately accesses a Web page from his computer or receives his e-mail, without even knowing that the proxy exists.
In fact, when opening a program such as Internet Explorer or picking up pending mail, the service request is made to the proxy, not to the Internet server. The proxy is in charge of redirecting these requests to the corresponding machine (the Web page server or the mail server) and once the information has been received, to transmit it to the computer that requested it.
Advantages & disadvantages of a proxy
In general, proxies make several new things possible:
- Control: only the intermediary does the real work, so you can limit and restrict the rights of users, and give permissions only to the proxy.
- Savings. Therefore, only one of the users (the proxy) has to be equipped to do the real work.
- Speed If several clients are going to request the same resource, the proxy can cache: save the response of a request to give it directly when another user requests it. So you don’t have to contact the destination again, and you end up faster.
- Filtering. The proxy can refuse to respond to some requests if it detects that they are prohibited.
- Modification. As an intermediary, a proxy can falsify information, or modify it following an algorithm.
- Anonymity. If all users are identified as one, it is difficult for the accessed resource to be able to differentiate them. But this can be bad, for example when you must necessarily make the identification.
In general, the use of an intermediary can cause:
- Abuse. Being willing to receive and respond to requests from many users, you may be doing some work that you don’t touch. So you have to control who has access to your services and who doesn’t, which is usually very difficult.
- Load. A proxy has to do the work of many users.
- Interference. It’s one more step between origin and destination, and some users may not want to go through the proxy. And less if it caches and keeps copies of the data.
- Inconsistency. If you’re caching, you might get it wrong and give an old response when there’s a newer one in the target resource. This problem doesn’t really exist with today’s proxy servers, as they connect to the remote server to check that the cached version is still the same as the one on the remote server.
- Irregularity. The fact that the proxy represents more than one user gives problems in many scenarios, specifically those that presuppose a direct communication between 1 sender and 1 receiver (such as TCP/IP).