요약
target="_blank"링크는 과거 새 페이지에 원래 탭으로 돌아가는opener관계를 흔히 부여했다.- 2018년 제안과 2019년 HTML 변경으로
noopener가 기본이 되었고, 연결이 필요하면rel="opener"를 명시한다.
링크를 누르면 새 탭이 열린다. 원래 페이지는 뒤에 남아 있으니 두 방을 오가는 듯하다. 이전 브라우저는 새 페이지에 window.opener라는 손잡이도 건넸다. 그 손잡이를 쥔 목적지는 원래 탭을 다른 주소로 이동시킬 수 있었다. 화면에는 분리된 사각형 둘이 보였지만 뒤편에는 가느다란 줄이 달려 있었다.
2018년 10월 10일 시작된 WHATWG 논의에서 Chris Dumez는 당시의 기본 동작을 짚었다. target="_blank"는 작성자가 rel="noopener"를 더하지 않으면 opener를 남겼다. 그는 순서를 바꾸자고 제안했다. 새 탭은 먼저 분리하고, 두 창의 협력이 필요한 페이지가 rel="opener"를 적는다. 협력 창을 위한 편리한 통로가 평범한 외부 링크에도 딸려 나갔던 셈이다.
다음 날 WebKit 기록에는 _blank를 noopener가 있는 것처럼 다루고, opener로 옛 연결을 요청하는 실험이 실렸다. 사용자에게 보이는 새 탭은 그대로다. 달라지는 것은 화면 뒤의 줄이다. 사이트 편집자가 모든 출구에서 보호용 단어를 기억해야 하는 부담도 줄어든다.
2019년 2월 7일 통합된 HTML 변경은 이 구상을 규칙으로 만들었다. 현재 링크 알고리즘은 noopener나 noreferrer가 있으면 연결을 끊고, _blank에도 opener가 없으면 같은 결론에 이른다. rel="opener"는 관계를 남기겠다는 명시적인 요청이다. 새 탭의 모양은 그대로지만, 옛 탭의 손잡이는 자동으로 따라오지 않는다.
표준의 변화가 항상 화면을 새로 칠하는 것은 아니다. 예전에는 링크 작성자가 끊는 표시를 하나씩 붙였다. 이제 브라우저가 먼저 방을 나누고, 정말 두 창을 연결해야 하는 작성자가 줄을 다시 건다. 서로 협력하는 애플리케이션은 그 길을 쓸 수 있다. 읽기 위해 연 일반 페이지에는 원래 방의 열쇠까지 줄 필요가 없다.
“새 탭”은 화면 배치의 이름이지 권한 설명서가 아니다. 두 페이지가 떨어져 보여도 어느 쪽이 다른 쪽을 움직일 수 있는지는 따로 정해진다. 2018년의 문제 제기와 WebKit 실험, 2019년 표준 변경은 평범한 클릭에 딸린 숨은 권한을 걷어 냈다. 웹의 역사는 가끔 새 문을 만드는 대신 불필요한 줄을 푸는 이야기다.
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





