'중개자'라는 뜻으로 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP메서지를 정리할수 있도록 동작한다.
프락시는 웹 클라이언트, 웹 서버 둘다로써 동작할 수 있어야한다.
클라이언트의 요청을 웹서버처럼 요청과 커넥션을 적절히 다뤄 응답을 돌려줄 수 있어야하고, 요청을 직접 서버로 보내기도 하므로 이때는 클라이언트처럼 동작해야한다.
개인프록시와 공유프록시
하나의 클라리언트가 독점적으로 사용하는 프록시를 개인프록시라고 한다. 이는 사용자의 컴퓨터에서 직접 실행된다.
대부분의 프록시는 공유프록시이다. 이는 여러 클라이언트와 공유할 수 있고 캐시 기능이 지원되어 사용자가 많은 경우 유리하다.
프록시는 같은 프로토콜을 사용하는 애플리케이션을 연결하고,
게이트웨이는 다른 프로토콜을 사용하는 애플리케이션을 연결한다는 점이 다르다.
하지만 상용프락시는 SSL 보안 프로토콜, FTP접근 등이 추가적인 기능을 지원하고 일부 게이트웨이의 기능을 지원하기도 한다.
프록시는 서버의 배치에 따라 포워드(forward)프록시와 리버스(reverse)프록시로 나눌수 있다.

클라이언트가 서버로 요청을 직접 보내는 것이 아니라 프록시가 대신 요청을 서버로 보내준다.
이는 사용자가 프록시를 거치도록 명시하였거나, 프록시가 HTTP 트래픽을 감시하여 가로챘을 수 있다.
과정
이렇게 되면 서버는 프록시로 요청을 받고 응답을 보내기 때문에 클라이언트를 알 수 없게 된다.

클라이언트가 웹서버로 요청할 때 원 서버가 아닌 프록시 서버로 요청을 보내게 된다.
웹서버의 주고를 프락시가 사용함으로써 클라이언트가 프록시로 요청을 보내게 된다.
과정
이렇게 되면 클라이언트는 프록시로 요청을 보내고 응답을 받기 때문에 서버를 알 수 없게 된다.
다음 글에서는 프록시가 어떻게 트래픽을 처리하는지를 알아보겠다.