VPN을 바꾸면 사이트의 알림 권한이 초기화된다는 생각은 사람들의 실제 시간을 잡아먹는 방식으로 틀렸습니다.당신의 출구 주소 중 어느 것도 권한 기록의 일부가 아닙니다. 사이트의 권한은 하나의 브라우저 프로필 안에서 그 오리진에 대해 저장되므로, 한 서버에서 다른 서버로 옮겨도 권한은 있던 자리에 그대로 남습니다. 실제로 바뀌는 것은 세션이며, 사람들이 VPN이 알림에 뭔가 했다고 판단할 때 보통 보는 것이 바로 그것입니다.

하나의 설정처럼 보이는 세 개의 저장소

권한은 하나의 기록이고, 운영체제의 알림 스위치는 또 다른 기록이며, 사이트 자체의 구독 상태는 세 번째입니다. 각각은 다른 곳에서 다른 동작으로 취소됩니다.

LayerWhere it livesWhat actually revokes it
Permission grantBrowser profile, keyed by originSite settings, site reset, or clearing site data
OS delivery switchOperating system notification settingsThe OS per-app or per-browser toggle
Push subscriptionPush service, bound to a service worker registrationUnsubscribe, or a subscription the service considers expired

권한이 붙어 있는 대상

웹 알림 권한은 오리진 단위이고 프로필 단위입니다. 그것은https://app.example.com당신의 공개 주소가 아니라 그 URL을 따르며, 그래서 다른 기기에서 물어본 같은 사이트가 다시 물어야 하고, 다른 VPN 엔드포인트가 새 프롬프트를 만들지 않습니다. 기록되는 곳, 즉 사이트 설정의 알림 패널이 권한이 부여된 오리진을 나열하고 페이지 자체도 자기 상태를 보고하는 곳에서 확인하세요.

chrome://settings/content/notifications
navigator.permissions.query({name: 'notifications'})
chrome://serviceworker-internals

쿼리는 새 상태를 요구하지 않고 오리진이 이미 가진 상태를 보고하며, service worker 페이지는 등록과 그 push 구독이 살아 있거나 살지 못하는 곳입니다. 권한이 있는데도 전달이 계속 실패한다면, 당신은 첫 번째 계층이 아니라 세 번째 계층을 보고 있는 것입니다.

push 경로는 그 자체의 관계입니다

Web Push는 페이지가 직접 제어하지 않는 구독을 추가합니다. 브라우저는PushSubscriptionpush 서비스에 요청하고, 페이지에 엔드포인트 URL을 건네며, 전달은 나중에 그 엔드포인트로 가서 등록된 service worker로 넘어갑니다. MDN의PushSubscription문서는 엔드포인트를 구독한 worker를 위한 push 서버의 사용자 지정 URL로 설명하며, 그것이 전달 기능이지 당신이 공개하는 공개 주소가 아니라는 점이 요점입니다.

여기서 두 가지 결과가 나옵니다. 첫째, 엔드포인트 URL은 민감한 것으로 다뤄야 하므로 공개 지원 스레드에 둘 자리가 없습니다. 둘째, push 서비스는 자체 인증을 강제하므로 URL만 가지고 있다고 해서 누군가 인증된 메시지를 보낼 수 있다는 증거가 되지 않습니다. 구독을 취소하면 브라우저는 push 서비스에 구독을 무효화하라고 알리며, 그것이 전달을 끝내는 동작입니다. VPN 서버를 바꾸는 것은 그 동작이 아닙니다.

VPN이 유죄로 보이는 이유

출구 주소를 바꾸면 많은 사이트가 당신을 다시 인증하고, 세션 쿠키를 회전시키며, 설정 페이지를 처음부터 다시 그립니다. 그러면 그 사이트의 알림이 새 세션이 구독한 세션이 아니거나, 사이트가 자체 마케팅 동의를 다시 확인하거나, 지역 규칙이 기능을 숨기는 등 권한과 아무 관련 없는 이유로 멈출 수 있습니다. 새 경로를 통해 push 엔드포인트의 호스트에 닿을 수 없거나 느리기 때문에 전달이 실패할 수도 있으며, 이는 밖에서 보면 취소된 권한과 똑같이 보입니다.

무언가를 결론 내리기 전에 계층을 따로 읽으세요. 권한 패널은 권한이 있는지를 말하고, service worker 목록은 등록과 구독이 있는지를 말하며, 운영체제 스위치는 브라우저가 애초에 무엇이든 표시할 수 있는지를 말합니다.

바꾸려던 것을 바꾸세요

알림을 멈추고 싶다면 그 오리진의 권한을 취소하고 사이트의 push 설정을 구독 취소한 다음, 운영체제 스위치가 사이트와 잠금 화면 사이의 유일한 것이 아닌지 확인하세요. 향후 알림을 차단해도 사이트가 이미 가진 계정 데이터는 삭제되지 않으며, 그것은 사이트에 대한 별도의 요청입니다.

다른 네트워크 경로를 원한다면 VPN을 바꾸세요. 그것은 세션 정체성, 지역 규칙, 그리고 어떤 서버에 도달할 수 있는지에 영향을 주며, 알림 권한은 건드리지 않습니다.

VPN을 거치든 거치지 않든 알림의 내용은 같은 의심으로 대하세요. 익숙한 브라우저가 메시지를 표시한다고 해서 발신자나 링크가 정당하다는 증거는 아닙니다.

관련 글