In general, not only in computing, proxies make it possible:

  • Control: only the intermediary does the actual work, therefore they can limit and restrict the rights of the users, and give permissions only to the proxy.
  • Savings: only one user (the proxy) must be prepared to do the actual work. With being prepared we mean that it is the only one that needs the resources necessary to make that functionality. Examples of resources needed to do the function may be the capacity and logic of computation or the external network address (IP).
  • 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 do not have to reconnect with the destination, and finish faster.
  • Filtering: The proxy may refuse to respond to any requests if it detects that they are prohibited.
  • Modification: As an intermediary, a proxy can falsify information, or modify it following an algorithm. :)


In general, the use of an intermediary can lead to:

  • Anonymity: If all users identify themselves as one, it is difficult for the accessed resource to differentiate them. But this can be bad, for example when identification is necessary.
  • Abuse: being willing to receive requests from many users and answer them, you may do some work that does not touch. Therefore, it has to control who has access and who does not to their services, which is usually very difficult.
  • Load: a proxy has to do the work of many users.
  • Intromission: is a step more between source and destination, and some users may not want to go through the proxy. And less if it caches and saves copies of the data.
  • Inconsistency: If you are caching, you may be wrong and give an old answer when there is a newer one in the target resource. Actually this problem does not exist with the current proxy servers as they connect to the remote server to verify that the version that it has cached remains the same as that existing 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). :(