2

당신은 2 가지 방법window.location.protocol과 window.isSecureContext의 차이점은 무엇입니까? 자바 스크립트에서

반환
  1. window.location.protocol를 통해 액세스 할 수있는 URL/웹 사이트 Http 또는 Https 이상 여부를 확인할 수 http: 또는 http에 대한 https에 대한 truefalse을 반환 https:

  2. window.isSecureContext .

나는 window.isSecureContext이 비표준임을 알고 있습니다. 하지만 클라이언트 브라우저에서 사용할 수 있음을 알 수 있습니다. 이어서

,

  1. 개의 읽기 전용 값의 차이가 무엇

    ? 어느 것을 사용해야합니까?
  2. 가장 중요한 점은 어떤 경우에 예외가있을 것입니다. 의미는 첫 번째 방법은 https:이며 두 번째는 false 또는 다른 방법이라고 말합니다. https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts에서
+0

는 isSecureContext가의 부울 반환 것 같다 (window.location.protocol === 'HTTPS'). 다른 브라우저가 구현되어 있지 않기 때문에 window.location.protocol을 사용해야합니다. –

+1

'window.location.protocol'은'ftp :','mailto :'와 같은 더 많은 값을 반환 할 수 있습니다. – Roman

답변

2

은 : 그것은 (로컬 또는) 안전하게 배달 때

컨텍스트는 안전한 것으로 간주되며, 보안되지 않은 상황에 API를 확보하기 위해 액세스를 제공 할 수없는 경우. 실제로 이는 페이지가 보안 컨텍스트를 가질 수있는 을 의미하며, 부모 및 오프너 체인의 모든 페이지는 안전하게으로 전달되어야합니다.

예를 들어 TLS를 통해 안전하게 전달 된 페이지는 안전하게 전달되지 않은 상위 ​​또는 상위 문서가있는 경우 보안 컨텍스트로 간주되지 않습니다. 그렇지 않으면 페이지가 중요하지 않은 API를 안전하지 않게 노출 할 수 있기 때문입니다 postMessage 메시지를 통해 조상을 전달했습니다. 마찬가지로 TLS가 전달 된 문서가 안전하지 않은 컨텍스트에 의해 새 창에서 열리면 noopener가 지정되지 않고 열린 창은 보안 컨텍스트로 간주되지 않습니다 (시작 및 열린 창은 postMessage를 통해 통신 할 수 있기 때문에).

http://localhost 및 file : // 경로와 같은 로컬 배달 파일은 안전하게 전달 된 것으로 간주됩니다.

(강조 광산)