이 기사는 주로 HTML5에서 통신 API의 기본 사용 방법을 소개합니다. 이 기사에는 실시간 및 크로스 도메인 커뮤니케이션을 구축하기위한 두 가지 중요한 모듈이 포함됩니다 : 교차 문서 메시지 커뮤니케이션 및 XMLHTTPREQUEST 레벨 2. 필요한 친구들은 다음을 참조 할 수 있습니다 .
교차 문서 메시지 커뮤니케이션은 Iframes, 탭 및 Windows간에 크로스 오리핀 커뮤니케이션이 안전하게 수행되도록 할 수 있습니다. PostMessage API를 메시지를 보내는 표준 방법으로 정의합니다. 메시지를 보내기 위해 PostMessage를 사용하는 것은 매우 간단합니다. 코드는 다음과 같습니다.
chatframe.contextWindow.postMessage ( 'Hello, World', 'http : //www.example.com');
메시지를 수신 할 때는 페이지에 이벤트 처리 기능 만 추가하면됩니다. 메시지가 도착하면 메시지 소스를 확인하여 메시지를 처리할지 여부가 결정됩니다.
메시지 이벤트는 데이터 및 원점 속성이있는 DOM 이벤트입니다. 데이터 속성은 발신자가 전달하는 실제 메시지이고 원점 속성은 전송 소스입니다.
Message Postmessage API는 상 동성 문서 간의 의사 소통을 할 수있을뿐만 아니라 브라우저가 비 호모 학적 커뮤니케이션을 허용하지 않을 때도 유용합니다. 일관성과 사용 편의성을 고려할 때 상 동성 문서간에 의사 소통 할 때는 사후 관리가 권장됩니다. Message PostMessage API는 HTML5 웹 워커 커뮤니케이션을 사용할 때와 같은 JavaScript 환경의 커뮤니케이션에서 항상 사용해야합니다.
1.1 소스 보안을 이해합니다HTML5 Glory 소개 소스 (Origin)의 개념은 도메인 보안을 명확히하고 개선했습니다. 소스는 네트워크에서 신뢰 관계를 설정하는 데 사용되는 주소의 하위 집합입니다. 소스는 규칙, 호스트 및 포트로 구성됩니다.
소스의 개념은 경로를 고려하지 않습니다.
html5는 소스의 직렬화를 정의합니다. 소스는 API 및 프로토콜에서 문자열로 나타납니다.
PostMessage의 보안 규칙은 메시지가 예기치 않은 소스 페이지로 전달되지 않도록합니다. 메시지를 보낼 때 발신자는 수신기의 소스를 정의합니다. 호출 PostMessage로 전송 된 창에 특정 소스가없는 경우 (예 : 사용자가 다른 사이트로 점프) 브라우저는 메시지를 보내지 않습니다.
마찬가지로 메시지를받을 때 발신자의 소스도 메시지의 일부로 사용됩니다. 위조를 피하기 위해 메시지 소스는 브라우저에서 제공합니다. 수신기는 처리 할 메시지와 무시할 메시지를 결정할 수 있습니다. 우리는 브라우저에 신뢰할 수있는 소스에서만 메시지를 처리하도록 지시하는 화이트리스트를 유지할 수 있습니다.
제 3 자의 문자열을 평가하지 않는 것이 가장 좋습니다. 또한, 평가 방법을 사용하여 응용 프로그램 내부 문자열을 처리하지 마십시오. window.json 또는 json, .org 파서를 통해 JSON을 사용할 수 있습니다.
1.2 브라우저 간 문서 메시지 커뮤니케이션을위한 브라우저 지원일반적인 관행은 xmlhttprequest 객체에 withedentials 속성이 존재하는지 여부를 감지하는 것입니다.
JavaScript 코드는 컨텐츠를 클립 보드에 복사합니다