All Honey Tip

[기술 면접] 4. Proxy에 대해서 알고 계신가요?

Proxy에 대해서 알고 계신가요?

저번 시간에 이어서, 이번엔 Proxy에 대해 알아보겠습니다. Proxy는 Server와 Client 사이에서 중계기 역할을 하는 매개체로써 웹 개발 시 성능, 보안, 데이터 변환 등 다양한 목적으로 사용되는 개념입니다.

Proxy에 대해서 알고 계신가요?





Q: Proxy에 대해서 알고 계신가요?

Server와 Client 사이에서 대리로 통신을 수행하며 중계기 역할을 하는 것입니다.

Proxy Server는 익명성으로 보안을 향상시키고, 캐시를 통한 속도 향상, 차단된 사이트를 IP 우회하여 접속하거나 원하지 않는 사이트를 차단하기도 합니다.






Q: Proxy Server에는 어떤 종류가 있나요?

Forward Proxy와 Reverse Proxy가 있습니다.

  • 구조: Client – 인터넷 – Server


Forward Proxy는 일반적인 프록시 서버로 Client와 Web Server의 중계를 담당합니다. Client의 앞에 위치하며, Client가 Proxy Server에 요청한 내용을 Proxy Server에 캐시로 저장해 두고, 후에 데이터를 재요청하면, 캐시된 데이터를 사용하여 전송 시간을 절약할 수 있습니다. Proxy Server는 Client가 요청하기 전까지 웹 서버의 주소를 알 수 없으며 캐싱 기능을 제공함과 동시에 특정 사이트의 접근을 제한할 수도 있습니다.

  • Client 정보가 노출되지 않습니다.
    • 청소년의 성인 컨텐츠 접근 제어


Reverse ProxyWeb Server 앞에 놓여져 있습니다. Client와 Web Server 사이에 위치하여 제어역할을 합니다. Client가 바로 Server에 데이터를 요청하여 받아올 수도 있지만, DB 노출을 최소화 하고 로드 밸런싱으로 트래픽을 분산시킵니다.

  • Server 정보가 노출되지 않습니다.







Q: 로드 밸런싱 기법 중에 라운드로빈(Round Robin Method) 방식이라고 알고 계신가요?

Server에 들어온 요청을 순서대로 돌아가며 배정합니다. 보유한 서버들이 동일한 스펙을 갖고 있고, 서버와의 연결(세션)이 오래 지속되지 않는 경우에 적합합니다.

구현이 간단하고 균등한 부하 분산이 가능하지만, 동적으로 부하를 조절할 수 없습니다.




마치며

Proxy에 대해 알아보았습니다. Proxy는 Client – 인터넷 – Server 구조에서 다양한 기능을 하며 성능과 보안에 큰 영향을 끼칩니다.

다음 시간에는, 주소창에 www.google.com을 검색했을 때 어떻게 작동하는지에 대한 답변을 알아보겠습니다.

Proxy


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다