프록시 서버는 리소스를 요청하는 client와 리소스를 제공하는 server 사이의 중개자 역할을 하는 서버 어플리케이션이다. 웹페이지나 파일같은 요청된 리소스를 수행할 수 있는 서버에 직접 접속하는 대신, client는 요청을 평가하여 요구되어지는 네트워크 트랜잭션을 수행하는 프록시 서버에 직접 접속한다.
이 서버는 요청의 복잡함을 단순화하거나 제어하거나, 부하 분산이나 프라이버시(개인정보) 보호, 보안과 같은 추가적인 이익을 제공한다.
즉, 프록시 서버는 client를 대신해 서비스를 요청하고 대신 작동하며, 리소스 서버에 요청의 실제 origin을 잠재적으로 마스킹할 수 있다.
프록시는 사용자의 로컬 컴퓨터에 존재하거나, 컴퓨터와 인터넷의 목표 서버 사이의 임의의 어느 지점에나 위치할 수 있다. 일반적으로 2가지 종류의 프록시서버가 있다.
: 개방형 프록시는 인터넷 사용자가 접근할 수 있는 forward proxy이다. 인터넷 상의 어디서든 request를 주고 받는 열린 프록시이다.
: 프록시 서버로서 정체성을 드러내지만, client의 원래 IP주소는 공개하지 않는다. 쉽게 발견할 수 있지만 원래 IP주소를 감추기 때문에 일부 사용자에게 이익이될 수 있다.
: 프록시 서버뿐만 아니라 HTTP헤더 필드의 지원으로 자신을 식별한다. 원래 IP주소도 검색할 수 있다. 이를 사용할 경우 더 빠른 검색을 위해 웹 사이트를 캐시할 수 있다.
: 역방향 프록시(or 대리 서버)는 client에 일반 서버로 나타나는 프록시 서버다. 프록시 서버의 응답이 원래 서버에서 직접 온 것처럼 반환되어 client는 원래 서버에 대한 지식이 없다. 이는 인터넷에서 request를 받으면 내부망 내의 서버로 전송해준다. 인터넷에서 들어오는 모든 트래픽, 이웃하는 웹 서버 중 하나의 목적지가 있는 모든 트래픽은 프록시 서버를 통과한다.