본문 바로가기

Computer Science/HTTP

프락시(Proxy)-1/2

반응형

웹 프락시 서버는 중개자이다.

  • 프락시는 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP메세지를 정리하는 중개인 처럼 동작한다.
  • 웹 프락시 서버는 클라이언트의 입장에서 트랜잭션을 수행하는 중개인 이다. 
  • 트랜잭션을 완료하는 것이 클라이언트라는 점은 변하지 않지만, 프락시 서버가 제공하는 좋은 서비스를 이용하게 된다.

HTTP프락시 서버는 웹 서버이기도 하고 웹 클라이언트이기도 하다.

  • => 프락시는 HTTP 클라이언트의 요청을 받게 되므로 반드시 웹 서버처럼 요청(request)과 커넥션(Connection)을 적절히 다루고 응답(response)을 돌려주어야 한다.

동시에

  • => 프락시는 요청(request)을 서버로 보내기도 하므로 요청(request)을 보내고 응답(response)을 받는 올바른 HTTP클라이언트처럼 동작해야 한다. 

 

프락시 vs 게이트웨이

  • 프락시는 같은 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결한다.

ex) 브라우저 프로토콜 : HTTP <=> 웹 서버 프로토콜 : HTTP

  • 게이트웨이는 서로 다른 프로토콜을 사용하는 둘 이상을 연결한다.

 ex) 브라우저 프로토콜 : HTTP<=> 웹 서버 프로토콜 : POP (HTTP/POP 게이트웨이를 통과한다.)

 

  • 게이트웨이는 클라이언트와 서버가 서로 다른 프로토콜로 말하더라도 서로 간의 트랜잭션을 완료할 수 있도록 해주는   프로토콜 변환기 처럼 동작한다.
  • 상용 프락시 서버는 SSL 보안 프로토콜, SOCKS 방화벽, FTP접근, 웹 기반 애플리케이션 지원 등을 하기 위해 게이트웨   이 기능을 구현하기도 한다.

 

 

프락시를 사용하는 이유

1. 어린이 필터

  • 어린이에게 교육 사이트에는 제한 없는 접근을 허용하고 부적절한 사이트의 접근은 강제로 거부한다.

 

2. 문서 접근 제어자

  • 웹 리소스에 대한 단일한 접근 제어 전략을 구현하고 감사추적(audit trail)을 하기 위해 사용될 수 있다.
  • ex) 중앙 프락시 서버에서 접근 제어를 설정할 수 있다. ==> 중앙 프락시 서버 하나로 여러 클라이언트들에게 서로 다    른 접근 제한을 줄 수 있다.

 

3. 보안 방화벽

  • 프락시 서버는 조직 안에 들어오거나 나가는 응용 레벨 프로토콜의 흐름을 네트워크의 한 지점에서 통제한다.
  • 바이러스를 제거하는 웹이나 이메일 프락시가 사용 할 수 있는, 트래픽을 세심히 살펴볼 수 있는 후크(hook)를 제공한다.

 

4. 웹 캐시

  • 프락시에 자주 사용하는 문서의 로컬 사본을 저장하여 요청에 빠르게 응답.

 

5. 대리 프락시(리버스 프락시)

  •  웹 서버인 것처럼 위장하여 진짜 웹 서버의 요청을 받고 요청받은 콘텐츠를 찾기위해 다른 서버와 커뮤니케이션 한다.
  •  공용 컨텐츠에 대한 느린 웹 서버의 성능을 개선할 수 있다.(서버 가속기라고 불린다.)

6. 콘텐츠 라우터

  •  - 인터넷 트래픽 조건과 콘텐츠의 종류에 따라 요청을 특정 웹 서버로 유도하는 동작을 한다.
  •  - 요청을 가까운 복제 캐시로 전달하여 더 좋은 성능을 낼 수 있다.
  •  - HTTP요청을 필터링 프락시를 통과하도록 유도할 수도 있다.

7. 트랜스코더

  •  콘텐츠를 클라이언트에게 전달하기 전에 본문 포맷을 수정할 수 있다.
  •  컨텐츠 크기를 줄일 수 있다(ex GIF -> JPG 변환, 텍스트 파일 압축)
  •  문서를 바로 외국어 문서로 변환 가능 

* 트랜스 코딩 : 데이터의 표현방식을 자연스럽게 변환하는 것

 

8. 익명화 프락시

 - HTTP 메시지에서 신원식별 특성들(ex: 클라이언트 IP주소, Form 헤더, Referer 헤더, 쿠키, URI 세션 아이디 등)을 제거  하여 개인정보 보호와 익명성 보장에 기여한다.

 

  • ISP: Internet Service Provider (KT, SKT, LG+)

 

/**********HTTP 완벽 가이드를 공부하며 정리한 내용 입니다.**********/

반응형

'Computer Science > HTTP' 카테고리의 다른 글

캐쉬-1/2  (0) 2020.07.06
프락시(Proxy)-2/2  (0) 2020.06.27