응용 프로그램에서 객체 자체를 로드하기 전에 로드되는 객체의 서버에서 URL 정책 파일을 다운로드할지 여부를 지정합니다. 이 플래그는 Loader.load() 메서드에 적용되지만 Loader.loadBytes() 메서드에는 적용되지 않습니다.
호출하는 SWF 파일의 자체 도메인 밖에 있는 JPEG, GIF 또는 PNG 이미지를 로드하는 경우 ActionScript에서 해당 이미지의 내용에 액세스하려면 이 플래그를 true로 설정합니다. 이미지 내용에 액세스하는 예로는 Loader.content 속성을 참조하여 Bitmap 객체 가져오기 및 BitmapData.draw() 메서드를 호출하여 로드된 이미지 픽셀의 복사본 가져오기 등이 있습니다. 로드할 때 checkPolicyFile을 지정하지 않고 이러한 작업 중 하나를 시도하면 필요한 정책 파일이 아직 다운로드되지 않았으므로 SecurityError 예외가 발생합니다.
Loader.load() 메서드(LoaderContext.checkPolicyFile을 true로 설정)를 호출하면 관련된 URL 정책 파일이 다운로드되거나 이러한 정책 파일이 없다는 사실이 발견될 때까지 응용 프로그램에서 URLRequest.url에 지정된 객체가 다운로드되지 않습니다. Flash Player 또는 AIR에서는 우선 이미 다운로드된 정책 파일을 확인한 다음 Security.loadPolicyFile() 메서드 호출에서 지정된 대기 중인 정책 파일을 다운로드하고, 마지막으로 URLRequest.url에 해당하는 기본 위치(URLRequest.url과 같은 서버의 /crossdomain.xml)에서 정책 파일을 다운로드합니다. 모든 경우에 지정한 정책 파일이 정책 파일의 위치인 URLRequest.url에 있어야 하고 하나 이상의 <allow-access-from> 태그에 의해 이 파일에 대한 액세스를 허용해야 합니다.
checkPolicyFile을 true로 설정하는 경우 Loader.load() 메서드에서 지정한 주 다운로드는 정책 파일이 완전히 처리되기 전까지 로드되지 않습니다. 따라서 필요한 정책 파일이 있는 한 Loader 객체의 contentLoaderInfo 속성에서 ProgressEvent.PROGRESS 또는 Event.COMPLETE 이벤트를 수신함과 동시에 정책 파일 다운로드가 완료되고 정책 파일을 사용한 작업을 안전하게 수행할 수 있습니다.
checkPolicyFile을 true로 설정하였는데 관련 정책 파일이 발견되지 않는 경우 SecurityError 예외를 발생시키는 작업을 시도하면 오류가 발생합니다. 그러나 LoaderInfo 객체에서 ProgressEvent.PROGRESS 또는 Event.COMPLETE 이벤트가 전달되면 LoaderInfo.childAllowsParent 속성 값을 확인하여 관련 정책 파일이 발견되었는지 여부를 테스트할 수 있습니다.
로드하는 이미지에 픽셀 수준으로 액세스할 필요가 없는 경우 checkPolicyFile 속성을 true로 설정하지 않는 것이 좋습니다. 이러한 경우 정책 파일을 확인하면 다운로드 시작이 지연되고 네트워크 대역폭이 불필요하게 소비될 수 있어 비효율적이기 때문입니다.
또한 Loader.load() 메서드를 사용하여 SWF 파일을 다운로드하는 경우 checkPolicyFile을 true로 설정하지 말아야 합니다. 이는 SWF 간 권한은 정책 파일이 아닌 Security.allowDomain() 메서드로 제어되므로 SWF 파일을 로드할 때는 checkPolicyFile이
효과가 없기 때문입니다. 이러한 경우 정책 파일을 확인하면 SWF 파일 다운로드가 지연되고 네트워크 대역폭이 불필요하게 소비될
수 있으므로 비효율적입니다. 정책 파일 다운로드는 주 다운로드에 앞서 실행되므로 Flash Player 또는 AIR에서는 주
다운로드가 SWF 파일인지 또는 이미지인지 파악할 수 없습니다.
서버측 HTTP 리디렉션을 사용할 수 있는 URL에서 객체를 다운로드하는 경우 checkPolicyFile을 주의하여 사용해야 합니다. 정책 파일은 항상 URLRequest.url에
지정하는 해당 초기 URL에서 검색합니다. HTTP 리디렉션으로 인해 최종 객체를 다른 URL에서 가져오는 경우, 처음에
다운로드된 정책 파일이 보안 결정에 중요한 URL인 객체의 최종 URL에 적용되지 않을 수도 있습니다. 이러한 경우에는 ProgressEvent.PROGRESS 또는 Event.COMPLETE 이벤트를 받은 후 객체의 최종 URL을 알려 주는 LoaderInfo.url 값을 검사할 수 있습니다. 그런 다음 객체의 최종 URL에 기초한 정책 파일 URL을 사용하여 Security.loadPolicyFile() 메서드를 호출합니다. 그런 다음 LoaderInfo.childAllowsParent 값이 true가 될 때까지 확인합니다.
응용 프로그램 샌드박스를 실행 중인 AIR 내용에 대해 이 속성을 설정할 필요가 없습니다. AIR 응용 프로그램 샌드박스의 내용은 로드된 이미지 내용을 소스로 사용하여 BitmapData.draw() 메서드를 호출할 수 있습니다.