본문 바로가기

CS 백엔드/네트워크

Forward Proxy, Reverse Proxy

1. Proxy Server

Proxy란
"대리" 즉, 남의 일을 대신한다는 의미로 간략하게 설명할 수 있다.

그렇다면 Proxy Server란 무엇일까?
"대신 처리하는 서버"로 간략하게 의미를 정의할 수 있다.

조금 더 저세히 설명하면 
클라이언트와 서버간의 중계 서버로, 통신을 대리 수행하는 서버 (ex. 캐시, 보안, 트래픽 분산 등 여러 장점을 가질 수 있다)

 

 

2. Forward Proxy

Forward Proxy는 일반적으로 말하는 Proxy를 뜻하며,
클라이언트와 인터넷 사이에 위치해서 클라이언트 대신 서버에 요청(Request)을 보내주는 역할을 한다.

클라이언트와 가까이 위치해있기 때문에 서버쪽에서 크게 관여하지 않는 위치이다.

 

Forward Proxy 특징

  • 캐싱 : Proxy 단에서 서버에서 응답한 데이터를 캐싱해주는 역할을 한다.
    • 전송 시간 절약, 불필요한 외부 전송을 안해도 됨, 외부 요청 감소로 네트워크 병목 현상을 방지
  • 익명성 : 클라이언트의 익명성을 보장해준다.
    • server가 응답 받은 요청을 누가 보냈는지 알지 못하게 한다. -> server가 받은 IP == Proxy IP 

 

 

3. Reverse Proxy

서버와 인터넷 사이에 위치해서 서버의 응답(Response)을 대신 클라이언트에게 전달해주는 역할을 한다.
네트워크 가장 끝에 있는 웹 서버의 바로 앞단에 위치하기 때문에 웹 서버에 향하는 모든 요청을 처리할 수 있다.

Reverse Proxy 특징

  • 캐싱 : Forward와 동일하다.
  • 보안 : 클라이언트에게 실제 서버 IP를 숨길 수 있다.
  • 로드밸런싱 : 클라이언트에게 오는 트래픽을 분산할 수 있다.
    • 서버의 부하를 방지

 

 

 

 

 

 

 

[참고]

https://www.youtube.com/watch?v=YxwYhenZ3BE

https://velog.io/@oyeon/Forward-Proxy-vs-Reverse-Proxy-vs-Load-Balancer

https://velog.io/@moonyoung/Nginx%EC%99%80-Apache

'CS 백엔드 > 네트워크' 카테고리의 다른 글

[네트워크] 네트워크란 무엇인가?  (0) 2023.01.08
[네트워크] Cache  (0) 2022.11.09
HTTP/0.9, 1.0, HTTP/1.1, HTTP/2, 그리고 QUIC  (0) 2022.10.24
HTTP  (0) 2022.10.23
도메인과 DNS - 이론  (0) 2022.10.20