프록시(Proxy) 핵심 개념 정리
프록시는 클라이언트와 서버 간의 통신을 중계하여 대신 처리해 주는 중개 서버를 말하는데요. 이를 통해 클라이언트는 직접 서버와 통신하지 않고, 간접적으로 서버에 요청을 보내고 응답을 받게 됩니다.
프록시의 역할과 장점
- 캐싱(Caching)
- 자주 요청되는 데이터를 저장해 빠르게 제공
- 서버 부하 감소 및 응답 속도 향상
- 접근 제어 및 보안
- 내부 네트워크를 외부로부터 보호
- IP주소를 숨겨 개인정보 보호
- 트래픽 관리 및 부하 분산
- 트래픽 균형 조정(load balancing)으로 안정적인 서비스 제공
- 콘텐츠 필터링
- 악성 콘텐츠나 원치 않는 요청을 사전에 차단
프록시의 종류
정방향 프록시(Forward Proxy)
- 클라이언트를 대신해 서버로 요청 전송한다 (사용자의 익명성 보장)
- VPN, 웹 프록시 서버 등
역방향 프록시(Reverse Proxy)
- 서버를 대신해 클라이언트의 요청을 처리하고 응답한다 (서버 보호, 로드밸런싱)
- Nginx, Apache HTTP Server 등
프록시의 동작 방식
클라이언트 <-> [프록시 서버] <-> 목적지 서버
- 클라이언트가 프록시에 요청 전달
- 프록시가 서버 대신 요청을 전달하거나, 캐시된 결과를 클라이언트에게 제공
- 서버 응답을 프록시가 받아 클라이언트에 재전달
프록시와 HTTP
- 프록시는 HTTP 요청 및 응답을 중개하며, 특히 웹 환경에서 성능 및 보안 향상에 많이 사용된다
- HTTP 헤더에 프록시 관련 정보(X-Forwarded-For, Via)가 포함될 수 있다
마치면서
프록시는 단순한 중개자를 넘어, 보안, 성능, 트래픽 제어 등 다양한 역할을 수행합니다. 이는 단연 네트워크 인프라의 핵심 요소라고 할 수 있는데요. 때문에 웹 개발자든 시스템 관리자든, 프록시의 개념과 동작 방식을 정확히 이해하는 것은 실무에서 큰 도움이 됩니다.
'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글
[CS기초] Datagram Socket(UDP) vs Stream Socket(TCP) 핵심 개념 정리 (0) | 2025.05.05 |
---|---|
[CS기초] 파일 디스크립터(File Descriptor) 핵심 개념 정리 (0) | 2025.05.05 |
[CS기초] 소켓 프로그래밍 핵심 개념 정리 (socket, connect, bind, listen, accept) (0) | 2025.05.04 |
[CS기초] 클라이언트-서버 모델(Client-Server Model) (0) | 2025.05.04 |
[CS기초] 네트워크 계층 (OSI 7 Layer와 TCP/IP Layer) (0) | 2025.05.02 |