Sun Java System Web Proxy Server 4.0.8 관리 설명서

FindProxyForURL() 함수

FindProxyFor() URL 함수의 구문은 다음과 같습니다.

function FindProxyForURL(url, host){   ...}

브라우저가 액세스하는 모든 URL의 경우 다음과 같은 방법으로 urlhost 매개 변수를 보내고 함수를 호출합니다.

ret = FindProxyForURL(url, host);

url은 브라우저에서 액세스되는 전체 URL입니다.

host는 액세스되는 URL에서 추출된 호스트 이름입니다. 이것은 편의상의 방법일 뿐이며 :// 및 첫 번째 : 또는 그 다음의 / 사이의 동일한 문자열입니다. 포트 번호는 이 매개 변수에 포함되지 않으며 필요한 경우 URL에서 추출할 수 있습니다.

ret(반환 값)는 구성을 설명하는 문자열입니다.

함수 반환 값

자동 구성 파일에는 FindProxyForURL() 함수가 포함되어 있습니다. 이 함수는 액세스할 클라이언트 호스트 이름과 URL을 매개 변수로 사용합니다. 함수는 브라우저에게 진행 방법을 지시하는 단일 문자열을 반환합니다. 문자열이 null인 경우 프록시를 사용하지 않아야 합니다. 다음 표에 표시된 구성 블록을 세미 콜론으로 구분하여 문자열에 포함시킬 수 있습니다.

표 17–2 FindProxyForURL() 반환 값

반환 값 

브라우저 결과 작업 

DIRECT

프록시를 통해 이동하지 않고 서버에 직접 연결합니다. 

PROXY host:port

지정된 프록시와 포트 번호를 사용합니다. 여러 값을 세미 콜론으로 구분한 경우 첫 번째 프록시가 사용됩니다. 해당 프록시가 실패할 경우 다음 프록시가 차례대로 사용됩니다. 

SOCKS host:port

지정된 SOCKS 서버를 사용합니다. 여러 값을 세미 콜론으로 구분한 경우 첫 번째 프록시가 사용됩니다. 해당 프록시가 실패할 경우 다음 프록시가 차례대로 사용됩니다. 

브라우저가 사용할 수 없는 프록시 서버에 연결된 경우 브라우저는 자동으로 30분 후, 1시간 후 등과 같이 30분 간격으로 이전에 응답하지 않는 프록시와 연결을 다시 시도합니다. 따라서 일시적으로 프록시 서버를 중단한 경우 클라이언트는 다시 시작한 이후 30분 내에 프록시 사용을 다시 시작합니다.

모든 프록시가 종료되고 DIRECT 반환 값이 지정되지 않을 경우 브라우저는 일시적으로 프록시를 무시하고 대신 직접 연결을 시도할지 여부를 사용자에게 묻는 메시지를 표시합니다. 브라우저는 프록시가 20분 후, 다시 20분 후 등과 같이 20분 간격으로 다시 시도할지 여부를 묻습니다.

다음 예에서 반환 값은 브라우저에게 포트 8080에서 w3proxy.example.com이라는 프록시를 사용할 것을 지시합니다. 해당 프록시를 사용할 수 없는 경우 브라우저는 다음과 같이 포트 8080에서 proxy1.example.com 이라는 프록시를 사용합니다.

PROXY w3proxy.example.com:8080; PROXY proxy1.example.com:8080

다음 예에서 기본 프록시는 w3proxy.example.com:8080 입니다. 해당 프록시를 사용할 수 없는 경우 브라우저는 proxy1.example.com:8080을 사용합니다. 두 개의 프록시를 모두 사용할 수 없는 경우 브라우저가 직접 서버로 이동합니다. 20분 이후 브라우저는 사용자에게 첫 번째 프록시를 다시 시도할지 여부를 묻습니다.

PROXY w3proxy.example.com:8080; PROXY proxy1.example.com:8080; DIRECT