[javascript] window.open과 sessionStorage

dev stefanCho·2021년 8월 19일
0

javascript

목록 보기
10/26

Opening multiple tabs/windows with the same URL creates sessionStorage for each tab/window. - 참조 MDN

Intro

window.open으로 같은 url을 열면, sessionStorage가 copy되어서 들어간다는 의미이다.
same URL의 의미를 파악해보자.
Same Site vs Same Origin에 대해서 내용을 요약하면,

  • same origin
    • Protocol, hostname, port가 모두 같은 경우 (그 외에는 cross-origin)
  • same site
    • eTLDs(effective Top-Level-Domain)이 같은 경우 (그 외에는 cross-site)

Test

MDN에는 same URL이라고 되어있어서, 이 URL이 정확히 어디까지를 의미하는지 파악하기 위해 테스트를 해보았다.

window.sessionStorage.setItem('name', 'cho')

// 같은 origin으로 열었을 경우
let url = location.origin
window.open(url, 'testing', 'width=1000, height=1000')

// 다른 origin으로 열었을 경우
window.open('https://www.google.com', 'testing', 'width=1000, height=1000')

같은 origin으로 window.open을 하고 window.sessionStorage.getItem('name')을 해보면, 같은 key값이 들어있음을 확인했다.
다른 origin으로 window.open하면 getItem시에 key값이 null이었다.

Conclusion

결론적으로, Same URL이라는 것은 적어도 Same Origin도 포함하는 의미인 것 같다.

profile
Front-end Developer

0개의 댓글