정확하게는 아닙니다 : 클라이언트 구성 방법에 따라 다릅니다. IE를 기본 예제로 사용합시다.
명시 적 프록시로 IE를 구성하는 경우 ( 예 : 다른 옵션을 선택하지 않은 경우 프록시는 무언가 : 8080으로 설정)
사용자가 주소를 입력
IE는 IE 프록시 예외 목록과 일치 하는 문자열 의 주소를 확인합니다 (예 : "이 주소의 프록시 무시 :").
ㅏ. 가에있는 항목과 일치하는 경우 바이 패스 목록 의 클라이언트가 사용하는 자신의 DNS를 이름을 해결하기 위해, 다음 클라이언트가 대상 IP 주소에 직접 연결 포트 80 (가정)에 다음과 같은 요청을 보냅니다 :
GET /something.htm HTTP/1.1
Host: fulldomainame.example.com
비. 바이 패스 목록 항목이 일치하지 않으면 계속 진행하십시오.
IE는 구성된 프록시에 연결하고 다음 형식의 요청을 보냅니다.
GET http://fulldomainname.example.com/something.htm HTTP/1.1
보너스 사실 : URL 에서 FQDN을 사용 하면 클라이언트 가 실제 웹 서버 대신 프록시와 대화 한다고 생각 하는 것을 알 수 있습니다.
프록시 는 자체 DNS를 사용하여 해당 호스트 이름 을 확인한 다음 대상 사이트에 연결합니다 (위의 2 단계에서 클라이언트처럼 작동) 등
WPAD / PAC를 사용하는 경우 :
자동 구성이 활성화 된 경우 ISA / TMG에서 제공하는 것과 같은 WPAD (Web Proxy Auto Discovery) 또는 PAC 또는 Autoconfig (Proxy Auto Configuration) 스크립트를 사용하는 경우에는 다릅니다.
사용자가 주소를 입력
클라이언트 는 구성된 위치에서 현재 wpad.dat / autoproxy.js / .pac 파일을 다운로드 합니다
클라이언트는 js 파일에서 " FindProxyForUrl " 기능을 찾아서 실행합니다.
자동 프록시 스크립트는 호스트 이름 과 URL을 처리합니다 . 이것은 제한된 기능의 자바 스크립트 파일이지만 여전히 많은 것들이 가능합니다.
ㅏ. 여기에는 이름 확인 (IsInNet, DnsResolve) 이 포함될 수 있습니다.
비. 여기에는 문자열 일치 (ShExpMatch) 가 포함될 수 있습니다
기음. 여기에는 백만까지 계산 (i ++) 이 포함될 수 있습니다.
디. 관리자가 멍청이 경우 불쾌한 경고 팝업 메시지 가 포함될 수 있습니다.
은 FindProxyForURL의 적어도 하나 개의 문자열 함수가 반환 사용하는 가장 프록시의 정렬 된 목록 (세미콜론으로 구분) :
ㅏ. 중 "DIRECT"는 ,이 경우 클라이언트는 이름 자체를 해결하고 바이 패스 케이스 위의에 따라, 직접 연결해야
비. 또는 "PROXY proxyname : 8080" 또는 이와 유사한,이 경우 프록시에 해당 포트에 대한 클라이언트 커넥트을에, 그것을 알려줍니다 전체 URL을 GET 및 프록시 수행의 이름 확인 .
- 예를 들어 , 스크립트 함수가 "PROXY yourProxy : 8080; DIRECT" 를 리턴 하여 클라이언트가 TCP 포트 8080 에서 프록시 에 연결 하여이 URL을 요청 하도록 지시 한 경우 해당 연결을 설정할 수 없으면 직접 연결해보십시오.
참고 이 가능성이없는 사용자에 대한 적절한 장애 조치의 경험으로, 아무것도 없잖아 있도록 TCP 세션 설정 오류가 정확히 빠른 아니라고. 아마도.
때때로 글리치, 미묘함 및 설명 할 수없는 동작이 있지만, 이상하고 흥미로운 방식으로 문제가 해결되지 않은 경우 위의 내용은 몇 년 동안 작동하는 방식을 보여줍니다. 최신 브라우저는 동작을 최적화하고 물건을 병렬화하고 항상 흥미로운 것을 시도하고 있으므로 제공된 브라우저에 대한 최신 문서를 확인하여 세부 사항을 이해하십시오.
WinSock 프록시 / ISA 방화벽 클라이언트 / TMG 클라이언트 :
TMG / ISA Server의 Winsock 프록시 클라이언트에 관심이 있다면 유연성과 가동 부분이 더 다른 이야기입니다. 여기에 너무 많이 들어 가지 만 어떻게 작동하는지 설명하는 문서가 있습니다. 간단히 말해 Windows 소켓에 연결되며 응용 프로그램 및 사용자별로 TCP / UDP 기반 트래픽과 이름 확인 요청을 가로 챌 수 있습니다. 매우 강력하지만 현재 더 이상 사용되지 않으며 몇 년 후에 업데이트되지 않았습니다.
고객은 정말 집착 할 수 있습니다.
한 최종 참고 : HTTP 클라이언트가 특정 사이트 / URL에 대한 프록시 이야기하기로 결정하면, 프록시가되지 그것을 말할 수있는 방법이 없습니다 .
"서비스를 제공하지 않습니다. 대신 직접 연결해야합니다"라는 HTTP 상태 코드 또는 헤더가 없습니다.
클라이언트가 특정 URL이 프록시 제공을 결정하면 proxy-death-grip 이 발생합니다.
이를 피하는 유일한 방법은 클라이언트가 PAC 또는 바이 패스 목록에서 연결하기 직전에 선택 로직을 얻는 것입니다.
영역 및 PAC 파일에 대한 마지막 참고 사항
IE는 URL에 점이있는 경우에도 직접 연결된 사이트를 로컬 인트라넷 영역의 일부 (기본적으로 영역 속성에서 설정 가능)로 취급하므로 해당 사이트에 Windows 통합 인증을 허용하는 것과 같은 작업을 수행합니다 (예 : Kerberos 및 / 또는 NTLM 인증). 따라서 로컬 인트라넷 영역에있는 항목을 제어하면 자동 인증의 관점에서 신뢰 수준을 정의합니다. 최소한 기본적으로는 다시 한 번.