
180
HTTP
2
부 HTTP 아키텍처
6.8
프락시 상호운용성
클라이언트, 서버, 프락시는 HTTP 명세의 여러 버전에 대해 여러 벤더에 의해 만들
어진다. 그들이 지원하는 여러 가지 기능을 지원하며 제각각 다른 버그를 갖고 있
다. 프락시 서버는 서로 다른 프로토콜을 구현했을 수도 있고 골치 아프게 이상한
동작을 할 수도 있는 클라이언트와 서버 사이를 중개해야 한다.
6.8.1
지원하지 않는 헤더와 메서드 다루기
프락시 서버는 넘어오는 헤더 필드들을 모두 이해하지 못할 수도 있다. 몇몇 헤더는
프락시 자신보다도 새로운 것일 수도 있다. 또 다른 헤더들은 특정 애플리케이션만
을 위해 특별히 만들어진 것일 수도 있다. 프락시는 이해할 수 없는 헤더 필드는 반
드시 그대로 전달해야 하며, 같은 이름의 헤더 필드가 여러 개 있는 경우에는 그들
그림
6
-
25
프락시는 콘텐츠에 대한 접근을 통제하기 위해 인증을 구현할 수 있다.
(a)
GET http://server.com/secret.jpg HTTP/1.0
(b)
HTTP/1.o 407 Proxy Authorization Required
Proxy-Authenticate: Basic realm="Secure Stuff"
(c)
GET http://server.com/secret.jpg HTTP/1.0
Proxy-Authorization: ...