parent
a7cc499934
commit
f9c6a2d9a6
5 changed files with 51 additions and 52 deletions
@ -1,48 +1,47 @@ |
|||||||
Internet has connected people across the world using social media and audio/video calling features along with providing an overabundance of knowledge and tools. All this comes with an inherent danger of security and privacy breaches. In this guide we will talk about **proxies** which play a vital role in mitigating these risks. We will cover the following topics in this guide: |
Internet has connected people across the world using social media and audio/video calling features along with providing an overabundance of knowledge and tools. All this comes with an inherent danger of security and privacy breaches. In this guide we will talk about **proxies** which play a vital role in mitigating these risks. We will cover the following topics in this guide: |
||||||
|
|
||||||
- [**Proxy Server**](#proxy-server) |
- [Proxy Server](#proxy-server) |
||||||
- [**Forward Proxy Server**](#forward-proxy-server) |
- [Forward Proxy Server](#forward-proxy-server) |
||||||
- [**Reverse Proxy Server**](#reverse-proxy-server) |
- [Reverse Proxy Server](#reverse-proxy-server) |
||||||
- [**Summary**](#summary) |
- [Summary](#summary) |
||||||
|
|
||||||
|
## Proxy Server |
||||||
|
|
||||||
### **Proxy Server** |
***Every web request which is sent from the client to a web server goes through some type of proxy server.*** A proxy server acts as a gateway between client *(you)* and the internet and separates end-users from the websites you browse. It replaces the source IP address of the web request with the proxy server's IP address and then forwards it to the web server. The web server is unaware of the client, it only sees the proxy server. |
||||||
|
|
||||||
***Every web request which is sent from the client to a web server goes through some type of proxy server.*** A proxy server acts as a gateway between client *(you)* and the internet and separates end-users from the websites you browse. It replaces the source IP address of the web request with the proxy server's IP address and then forwards it to the web server. The web server is unaware of the client, it only sees the proxy server. |
![Proxy Server Description](/guides/proxy/proxy-example.png) |
||||||
|
> NOTE: This is not an accurate description rather just an illustration. |
||||||
|
|
||||||
![Proxy Server Description](https://github.com/ebrahimbharmal007/my-images/blob/master/proxyserver_example.png) |
Proxy servers serve as a single point of control making it easier to enforce security policies. It also provides caching mechanism which stores the requested web pages on the proxy server to improve performance. If the requested web-page is available in cache memory then instead of forwarding the request to the web-server it will send the cached webpage back to the client. This **saves big companies thousands of dollars** by reducing load on their servers as their website is visited by millions of users every day. |
||||||
> NOTE: This is not an accurate description rather just an illustration. |
|
||||||
|
## Forward Proxy Server |
||||||
Proxy servers serve as a single point of control making it easier to enforce security policies. It also provides caching mechanism which stores the requested web pages on the proxy server to improve performance. If the requested web-page is available in cache memory then instead of forwarding the request to the web-server it will send the cached webpage back to the client. This **saves big companies thousands of dollars** by reducing load on their servers as their website is visited by millions of users every day. |
|
||||||
|
A forward proxy is generally implemented on the client side and **sits in front of multiple clients** or client sources. Forward proxy servers are mainly used by companies to **manage internet usage** of their employees and **restrict content**. It is also used as a **firewall** to secure company's network by blocking any request which would pose threat to the companies's network. Proxy servers are also used to **bypass geo-restriction** and browse content which might be blocked in user's country. It enables users to **browse anonymously**, as the proxy server masks their details from the website's servers. |
||||||
### **Forward Proxy Server** |
|
||||||
|
![Forward Proxy Description](/guides/proxy/forward-proxy.png) |
||||||
A forward proxy is generally implemented on the client side and **sits in front of multiple clients** or client sources. Forward proxy servers are mainly used by companies to **manage internet usage** of their employees and **restrict content**. It is also used as a **firewall** to secure company's network by blocking any request which would pose threat to the companies's network. Proxy servers are also used to **bypass geo-restriction** and browse content which might be blocked in user's country. It enables users to **browse anonymously**, as the proxy server masks their details from the website's servers. |
> NOTE: This is not an accurate description rather just an illustration |
||||||
|
|
||||||
![Forward Proxy Description](https://github.com/ebrahimbharmal007/my-images/blob/master/forward_proxy.png) |
## Reverse Proxy Server |
||||||
> NOTE: This is not an accurate description rather just an illustration |
|
||||||
|
Reverse proxy servers are implemented on the **server side** instead of the client side. It **sits in front of multiple webservers** and manages the incoming requests by forwarding them to the web servers. It provides anonymity for the **back-end web servers and not the client**. Reverse proxy servers are generally used to perform tasks such as **authentication, content caching, and encryption/decryption** on behalf of the web server. These tasks would **hog CPU cycles** on the web server and degrade performance of the website by introducing high amount of delay in loading the webpage. Reverse proxies are also used as **load balancers** to distribute the incoming traffic efficiently among the web servers but it is **not optimized** for this task. In essence, reverse proxy server is a gateway to a web-server or group of web-servers. |
||||||
### **Reverse Proxy Server** |
|
||||||
|
![Reverse Proxy Description](/guides/proxy/reverse-proxy.png) |
||||||
Reverse proxy servers are implemented on the **server side** instead of the client side. It **sits in front of multiple webservers** and manages the incoming requests by forwarding them to the web servers. It provides anonymity for the **back-end web servers and not the client**. Reverse proxy servers are generally used to perform tasks such as **authentication, content caching, and encryption/decryption** on behalf of the web server. These tasks would **hog CPU cycles** on the web server and degrade performance of the website by introducing high amount of delay in loading the webpage. Reverse proxies are also used as **load balancers** to distribute the incoming traffic efficiently among the web servers but it is **not optimized** for this task. In essence, reverse proxy server is a gateway to a web-server or group of web-servers. |
> NOTE: This is not an accurate description rather just an illustration. Red lines represent server's response and black lines represent initial request from client(s). |
||||||
|
|
||||||
![Reverse Proxy Description](https://github.com/ebrahimbharmal007/my-images/blob/master/reverse_proxy.png) |
## Summary |
||||||
> NOTE: This is not an accurate description rather just an illustration. Red lines represent server's response and black lines represent initial request from client(s). |
|
||||||
|
A proxy server acts as a gateway between client *(you)* and the internet and separates end-users from the websites you browse. ***The position of the proxy server on the network determines whether it is a forward or a reverse proxy server***. Forward proxy is implemented on the client side and **sits in front of multiple clients** or client sources and forwards requests to the web server. Reverse proxy servers are implemented on the **server side** it **sits in front of multiple webservers** and manages the incoming requests by forwarding them to the web servers. |
||||||
### **Summary** |
|
||||||
|
If all this was too much to take in, I have a simple analogy for you. |
||||||
A proxy server acts as a gateway between client *(you)* and the internet and separates end-users from the websites you browse. ***The position of the proxy server on the network determines whether it is a forward or a reverse proxy server***. Forward proxy is implemented on the client side and **sits in front of multiple clients** or client sources and forwards requests to the web server. Reverse proxy servers are implemented on the **server side** it **sits in front of multiple webservers** and manages the incoming requests by forwarding them to the web servers. |
|
||||||
|
At a restaurant the waiter/waitress takes your order and gives it to the kitchen head chef. The head chef then calls out the order and assigns tasks to everyone in the kitchen. |
||||||
If all this was too much to take in, I have a simple analogy for you. |
|
||||||
|
In this analogy: |
||||||
At a restaurant the waiter/waitress takes your order and gives it to the kitchen head chef. The head chef then calls out the order and assigns tasks to everyone in the kitchen. |
|
||||||
|
* You are the client |
||||||
In this analogy: |
* Your order is the web request |
||||||
|
* Waiter/Waitress is your forward proxy server |
||||||
* **You are the client** |
* Kitchen head chef is the reverse proxy server |
||||||
* **Your order is the web request** |
* Other chefs working in the kitchen are the web servers |
||||||
* **Waiter/Waitress is your forward proxy server** |
|
||||||
* **Kitchen head chef is the reverse proxy server** |
With that said our guide comes to an end. Thank you for reading and feel free to submit any updates to the guide using the links below. |
||||||
* **Other chefs working in the kitchen are the web servers** |
|
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 42 KiB |
Loading…
Reference in new issue