
148
HTTP
2
부 HTTP 아키텍처
6.1
웹 중개자
웹 프락시 서버는 클라이언트의 입장에서 트랜잭션을 수행하는 중개인이다. 웹 프
락시가 없다면, 클라이언트는 HTTP 서버와 직접 이야기한다. 웹 프락시가 있다면,
클라이언트는 HTTP 서버와 이야기하는 대신, 자신의 입장에서 서버와 대화해주는
프락시와 이야기한다. 트랜잭션을 완료하는 것이 클라이언트라는 점은 변하지 않
지만, 프락시 서버가 제공하는 좋은 서비스를 이용하게 된다.
HTTP 프락시 서버는 웹 서버이기도 하고 웹 클라이언트이기도 하다. 프락시는
HTTP 클라이언트의 요청을 받게 되므로, 반드시 웹 서버처럼 요청과 커넥션을 적
절히 다루고 응답을 돌려줘야 한다. 동시에 프락시는 요청을 서버로 보내기도 하므
로, 요청을 보내고 응답을 받는 올바른 HTTP 클라이언트처럼 동작해야 한다(그림
6-1). 만약 직접 HTTP 프락시를 만든다면, HTTP 클라이언트와 HTTP 서버의 양쪽
규칙 모두를 주의 깊게 따라야 한다.
프락시는 웹 클라이언트에서 볼 때 서버처럼
동작하면서 요청 메시지를 받고
응답 메시지를 돌려준다.
프락시는 웹 서버에서 볼 때 클라이언트처럼
동작하면서 웹 요청 메시지를 보내고
웹 응답 메시지를 받는다.
클라이언트 서버
프락시
요청 요청
응답 응답
그림
6
-
1
프락시는 서버이면서 동시에 클라이언트여야 ...