ooo⟡dev
로그인
ooo⟡dev
로그인
[HTTP] Proxy
o
·
2021년 2월 3일
팔로우
0
Proxy
http
server
0
프락시 서버
클라이언트와 서버 사이에 위치하여 통신을 대리 수행하는 서버
HTTP 메시지를 정리하는 중개인 역할
프락시와 게이트웨이
프락시는 같은 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결
게이트웨이는 서로 다른 프로토콜을 사용하는 둘 이상을 연결
클라이언트와 서버가 서로 다른 프로토콜로 말해도 서로 간의 트랜잭션을 완료할 수 있도록 해주는 프로토콜 변환기처럼 동작함
실제로 차이는 모호함
프락시는 브라우저와 서버는 다른 버전의 HTTP를 구현하기 문에 약간의 프로토콜 변환을 하기도
프락시 서버의 역할
보안을 개선, 성능 향상, 비용 절약
트래픽을 감시하고 수정할 수 있음
1. 캐시
캐시를 통해 자원을 저장하고 빠르게 응답
네트워크 비용 감소, 응답 속도 향상
2. 필터링
부적절한 콘텐츠 차단
프락시를 통한 요청/응답 로깅
3. 트랜스코더
트랜스 코딩: 데이터의 표현 방식을 자연스럽게 변환하는 것
데이터 압축, 언어 변환 등
네트워크 비용 감소, 원 서버의 역할 감소
4. 익명화(Anonymizer)
HTTP 메시지에서 신원 식별을 할 수 있는 특성들을 제거
개인 정보 보호와 익명성 보장
Forward Proxy
일반적인 프락시
"프락시 서버 설정 ..."
"인터넷 속도 향상을 위해 컴퓨터에서 프락시 설정..."
"외국에서 접속하는 것 처럼 테스트하기 위해..."
"개인정보 빼돌린 해커가 IP 추적 방지하기 위해..."
클라이언트와 인터넷 사이에서 흐름을 처리
Forward Proxy의 특징
캐싱
전송 시간 절약, 다운로드 속도를 개선
불필요한 외부 요청 감소로 네트워크 병목 현상 방지
익명성
클라이언트가 보낸 요청을 감춤
프락시가 대신 요청을 보내서 서버에서 누가 보냈는지 알지 못하게 함
Reverse Proxy
인터넷과 서버 사이에 위치. 대리 프락시라고도 함
보통 웹 서버의 이름과 IP 주소로 스스로를 가장함
서버 응답을 대신 클라이언트에게 보냄
Reverse Proxy의 특징
캐싱
빠른 웹 서버 캐시를 느린 웹 서버 앞에 두어 성능 개선
보안
웹 서버 이름과 IP로 스스로를 가장하여 서버 정보를 클라언트로부터 숨김
클라이언트 입장에서 리버스 프락시를 실제 서버라고 생각하고 요청함
실제 서버의 IP가 노출되지 않음
로드 밸런싱
여러 대의 서버가 일을 처리할 수 있도록 요청을 나눠줌
해야할 일을 나눠 서버의 부하를 분산시킴
클라이언트 프락시 설정
Via 헤더
메시지가 지나는 각 중간 노드의 정보를 나열하여 메시지 흐름을 추적
Via: 1.1 proxy-62.irenes-isp.net, 1.0 cache.joes-hardware.com
응답 Via 헤더는 거의 언제나 요청 Via 헤더와 반대다.
참고:
HTTP 완벽 가이드
o
⟡ Frontend Engineer
팔로우
0개의 댓글
댓글 작성