Skip to content
배우기 측정 블로그 Case studies 정보
이 페이지에서
  • 출처
    • "동일 출처"와 "교차 출처"
  • 사이트
    • "same-site"와 "cross-site"
    • "schemeful 동일 사이트"
  • 요청이 "동일 사이트", "동일 출처" 또는 "교차 사이트"인지 확인하는 방법

"동일 사이트" 및 "동일 출처" 이해하기

Apr 15, 2020 — 업데이트됨 Jun 10, 2020
Available in: Español, 日本語, Português, Русский, 中文, English
Appears in: 안전한 보안 환경
Eiji Kitamura
Eiji Kitamura
TwitterGitHubHomepage
이 페이지에서
  • 출처
    • "동일 출처"와 "교차 출처"
  • 사이트
    • "same-site"와 "cross-site"
    • "schemeful 동일 사이트"
  • 요청이 "동일 사이트", "동일 출처" 또는 "교차 사이트"인지 확인하는 방법

"동일 사이트"와 "동일 출처"는 자주 인용되지만 종종 오해되는 용어입니다. 예를 들어 페이지 전환, fetch() 요청, 쿠키, 팝업 열기, 포함된 리소스 및 iframe과 관련하여 언급됩니다.

출처 #

출처

"출처"은 체계 (프로토콜 이라고도 하는 HTTP 또는 HTTPS ), 호스트 이름 및 포트 (지정된 경우)의 조합입니다. 예를 들어, URL이 https://www.example.com:443/foo 인 경우 "출처"는 https://www.example.com:443 입니다.

"동일 출처"와 "교차 출처" #

동일한 구성표, 호스트 이름 및 포트가 조합된 웹 사이트는 "동일 출처"로 간주됩니다. 다른 모든 것은 "교차 출처"로 간주됩니다.

출처 A출처 B출처 A와 B가 "동일 출처"인지 "교차 출처"인지에 대한 설명
https://www.example.com:443https://www.evil.com :443교차 출처: 다른 도메인
https://example.com:443교차 출처: 다른 하위 도메인
https://login.example.com:443교차 출처: 다른 하위 도메인
http://www.example.com:443교차 출처: 다른 체계
https://www.example.com:80교차 출처: 다른 포트
https://www.example.com:443동일 출처: 정확히 일치
https://www.example.com동일 출처: 암시적 포트 번호(443) 일치

사이트 #

사이트

.com 및 .org와 같은 최상위 도메인(TLD)은 루트 영역 데이터베이스에 나열됩니다. 위의 예에서 "사이트"는 TLD와 그 바로 앞의 도메인 부분의 조합입니다. 예를 들어 URL이 https://www.example.com:443/foo 인 경우 "사이트"는 example.com 입니다.

.co.jp 또는 .github.io 와 같은 .jp 또는 .io 의 TLD를 사용하는 것만으로는 "사이트"를 식별할 수 있을 만큼 세분화되지 않습니다. 또한 특정 TLD에 대해 등록 가능한 도메인 수준을 알고리즘 방식으로 결정할 수 있는 방법이 없습니다. 이것이 "유효 TLD"(eTLD) 목록이 생성된 이유입니다. 이것들은 공개 접미사 목록에 정의되어 있습니다. eTLDs의 목록은 유지됩니다 publicsuffix.org/list.

전체 사이트 이름은 eTLD+1로 알려져 있습니다. 예를 들어 URL이 https://my-project.github.io인 경우 eTLD는 .github.io이고 eTLD+1은 my-project.github.io이며 "사이트"로 간주됩니다. 즉, eTLD+1은 유효 TLD이며 바로 앞의 도메인 부분입니다.

eTLD+1

"same-site"와 "cross-site" #

동일한 eTLD+1이 있는 웹사이트는 "same-site"로 간주됩니다. 다른 eTLD+1이 있는 웹사이트는 "cross-site"입니다.

출처 A출처 B출처 A와 B가 "동일 사이트"인지 "교차 사이트"인지에 대한 설명
https://www.example.com:443https://www.evil.com:443교차 사이트: 다른 도메인
https://login.example.com:443동일 사이트: 다른 하위 도메인은 중요하지 않습니다.
http://www.example.com:443동일 사이트: 다른 체계는 중요하지 않습니다.
https://www.example.com:80동일 사이트: 다른 포트는 중요하지 않습니다.
https://www.example.com:443동일 사이트: 정확히 일치
https://www.example.com동일 사이트: 포트는 중요하지 않습니다.

"schemeful 동일 사이트" #

schemeful same-site

"동일 사이트"의 정의는 HTTP가 약한 채널로 사용되는 것을 방지하기 위해 URL 체계를 사이트의 일부로 간주하도록 진화하고 있습니다. 브라우저가 이 해석으로 이동함에 따라 이전 정의를 참조할 때 "scheme-less 동일 사이트"에 대한 참조와 더 엄격한 정의를 참조하는 "schemeful 동일 사이트"에 대한 참조를 볼 수 있습니다. 이 경우 http://www.example.com 및 https://www.example.com이 교차 사이트로 간주됩니다.

출처 AOrigin B출처 A와 B가 "schemeful 동일 사이트"인지 여부에 대한 설명
https://www.example.com:443https://www.evil.com :443cross-site: 다른 도메인
https://login.example.com:443schemeful 동일 사이트: 다른 하위 도메인은 중요하지 않습니다.
http://www.example.com:443교차 출처: 다른 체계
https://www.example.com:80schemeful 동일 사이트: 다른 포트는 중요하지 않습니다.
https://www.example.com:443schemeful 동일 사이트: 정확히 일치
https://www.example.comschemeful 동일 사이트: 포트는 중요하지 않습니다.

요청이 "동일 사이트", "동일 출처" 또는 "교차 사이트"인지 확인하는 방법 #

Sec-Fetch-Site HTTP 헤더와 함께 요청을 보냅니다. 다른 브라우저는 2020년 4월 현재 Sec-Fetch-Site 를 지원하지 않습니다. 이것은 더 큰 Fetch Metadata Request Headers 제안의 일부입니다. 헤더에는 다음 값 중 하나가 있습니다.

  • cross-site
  • same-site
  • same-origin
  • none

Sec-Fetch-Site의 값을 검사하여 요청이 "동일 사이트", "동일 출처" 혹은 "교차 사이트"인지 확인할 수 있습니다("schemeful-same-site는 Sec-Fetch-Site에서 포착되지 않습니다).

보안
마지막 업데이트: Jun 10, 2020 — 기사 개선하기
Return to all articles
공유
구독

Contribute

  • 버그 신고
  • 소스 보기

관련된 콘텐츠

  • developer.chrome.com
  • Chrome 업데이트
  • 웹 기초
  • 사례 연구
  • 팟캐스트
  • 쇼

연결

  • Twitter
  • YouTube
  • Google Developers
  • Chrome
  • Firebase
  • Google Cloud Platform
  • 전체 제품
  • 약관 및 개인정보 보호
  • 커뮤니티 가이드라인

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies.