深度解析:關閉瀏覽器後,愛奇藝網站爲什麼能發送廣告彈窗

起初是因爲看到了一個視頻(BV17rT26jEM5),博主在360論壇反饋“極速瀏覽器X”彈出廣告的問題,卻被版主嘲諷:“極速X沒有廣告,少看豆包”

在第二天的澄清視頻(BV1axTR6bEzG)中,博主說明,在360工程師的協助下

已確認該廣告實際來自愛奇藝網站

那麼問題來了:瀏覽器都關了,網站爲什麼還能彈出廣告?

本文將以微軟 Edge瀏覽器 爲例,解析網站後臺推送廣告的原理

先來看一張演示圖:

在不打開 Edge 瀏覽器的情況下,依然能收到來自網站的通知

這種後臺通知技術叫做 Web Push,在2023年後獲得了各大瀏覽器的廣泛支持,不少同學可能還不太熟悉

具體流程如下:

網站首先會申請並獲得通知權限

隨後,網站向瀏覽器註冊一個後臺運行的腳本——Service Worker

Edge 瀏覽器收到網站的後臺推送請求後,

會向微軟服務器註冊訂閱消息,

並將當前用戶的訂閱地址返回給網站

獲得訂閱地址後,網站服務器 便可以在任意時間點告知微軟服務器“我要推送消息”

由微軟服務器轉發給 Edge

注意這裏說的網站服務器可以發起推送,而不是你所打開的網頁

網站服務器是24小時不間斷運行的

完全關閉edge瀏覽器能阻止推送麼?

不少人認爲,關閉瀏覽器後仍能收到推送,是因爲瀏覽器並沒有真正關閉,仍在後臺運行

其實不然

從第一張演示圖可以看到,當我完全關閉 Edge(沒有任何後臺進程)後,依然能收到推送通知

本文通篇以 Edge 瀏覽器爲例,不排除其他瀏覽器確實是依靠後臺進程實現推送

那究竟是誰在負責推送呢?

從事件管理器中可以看到,從接收消息、調用 Edge,到關閉 Edge,全部由 PushNotification-Platform 完成

也就是說,這項功能由 WpnService(Windows 推送消息系統服務)負責。只要關閉這個服務,所有通知都會被阻斷

現在,你已經完全瞭解網站後臺推送的實現機制

那麼以下幾個問題也就迎刃而解了:

廣告彈窗來自瀏覽器嗎

是,但具體來說,廣告是由網站發起。

瀏覽器只是負責顯示出來,廣告和瀏覽器沒有利益關係

怎麼讓愛奇藝等網站不推送廣告

關閉網站的通知權限即可

爲什麼油管、臉書網站的推送,在不爬梯的情況,依然能收到

本質上是這些應用商將推送信息提交給微軟,由微軟服務器推送給用戶。

因此,只要微軟服務器沒有異常,消息就一定能送達

本期分享就到這了,如果有下期,那我們就下期見

參考資料

Push API

htpps://developer.mozilla.org/zh-CN/docs/Web/API/Push_API

Re-engage users with push messages

https://learn.microsoft.com/en-us/microsoft-edge/progressive-web-apps/how-to/push

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com