프락시는 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP 메시지를 정리하는 중개자 서버다.
웹 프락시가 있을 경우, 클라이언트는 HTTP 서버와 이야기하는 대신 프락시와 이야기한다.
프락시 서버는 HTTP 클라이언트의 요청을 받게 되므로 웹 서버처럼 요청과 커넥션을 다루는 기능이 필요하며, 동시에 요청을 서버로 보내기도 하므로 HTTP 클라이언트의 동작도 잘 수행해야 한다.
프락시 서버는 하나의 클라이언트가 독점적으로 사용할 수도 있고, 여러 클라이언트가 공유할 수도 있다.
중앙 집중형 프락시를 관리하는 게 더 비용효율이 높고 쉬우므로, 대부분의 프락시는 공용 프락시이다.
프락시는 같은 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결한다.
게이트웨이는 서로 다른 프로토콜을 사용하는 둘 이상을 연결하여, 클라이언트와 서버가 서로 다른 프로토콜로 말하더라도 서로 간의 트랜잭션을 완료할 수 있도록 해주는 프로토콜 변환기처럼 동작한다.
그러나 프락시는 때때로 약간의 프로토콜 변환을 하고 게이트웨이 기능을 구현하기도 하기 때문에, 실질적으로 프락시와 게이트웨이의 차이점은 모호하다.
프락시 서버는 보안을 개선하고, 성능을 높여주며, 비용을 절약하고, 트래픽을 감시하고 수정할 수 있다.
프락시 서버가 활용되는 경우로는 다음과 같은 것들이 있다.