웹 프락시 서버
- 클라이언트의 입장에서 트랜잭션을 수행하는 중개자
- 트랜잭션을 완료하는 것이 클라이언트라는 점은 변하지 않음
HTTP 프락시 서버
- 웹 서버이기도 하고 웹 클라이언트이기도 함
- 웹 서버처럼 요청과 커넥션을 적절히 다루고 응답을 돌려줘야 한다.
프락시 = {개인 프락시(ex.ISP), 공용 프락시(중앙집중형 공용)}
프락시 vs 게이트웨이
- 프락시: 같은 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결
- 게이트웨이: 서로 다른 프로토콜을 사용하는 둘 이상을 연결
프락시 사용 이유 및 예시
- 보안 개선, 성능 향상, 비용절약. 트래픽 감시 및 수정.
- 성인 콘텐츠 차단을 위한 필터링 프락시
- 각기 다른 조직에서 관리되는 다양한 종류의 웹서버나 외부 소스에 대한 접근 제어를 위한 중앙 프락시 서버
- 바이러스 검출을 위한 방화벽 프락시
- 성능향상을 위한 웹 캐시
- 웹서버인것 처럼 작동하고 분산 네트워크를 만들 때 사용되는 대리 프락시(surrogate, reverse proxy)
- 콘텐츠 라우터
- 데이터 포맷을 바꾸거나 압축하는 트랜스코더
- http메시지에서 신원을 식별할 수 있는 특성들을 적극적으로 제거하는 익명화 프락시
프락시는 어디에 있는가?
프락시 서버 배치
프락시 계층
- 클라이언트와 원 서버 사이에 여러 프락시가 계층적으로 존재. 인바운드로 갈 수록 부모 프락시
- 동적 부모 선택
- 로드 밸런싱: 부하 분산을 위해 현재 부모들의 작업량 수준에 근거해서 부모 프락시 선택
- 지리적 인접성에 근거한 라우팅: 원 서버의 지역을 담당하는 부모를 선택
- 프로토콜/타입 라우팅: URI에 근거하여 라우팅
프락시가 트래픽을 처리하는 방법
- 클라이언트 수정: 의도적으로 HTTP요청을 원 서버가 아닌 프락시로 보내기
- 인터셉트 프락시: 네트워크 인프라를 가로채서 웹 트래픽을 프락시로 가도록 조정
- DNS 이름공간 수정: 대리프락시(reverse proxy)는 웹서버의 이름과 ip주소를 자신이 직접 사용함
- 웹 서버 수정: HTTP 리다이랙션 명령(305)를 클라이언트에게 돌려줘서 프락시로 리다이렉트하도록
'웹 > 책 & 강의' 카테고리의 다른 글
HTTP 완벽가이드 - 8장 ( 통합점: 게이트웨이, 터널, 릴레이 ) (0) | 2022.01.20 |
---|---|
HTTP 완벽가이드 - 7장 (캐시) (0) | 2022.01.09 |
HTTP 완벽가이드 - 5장 (웹 서버) (0) | 2022.01.09 |
HTTP 완벽가이드 - 4장 (커넥션 관리) (0) | 2022.01.09 |
HTTP 완벽 가이드 - 1,2,3장 (HTTP 개관, HTTP 메시지) (0) | 2022.01.09 |