web-push实现原理及细节介绍

news/2024/4/15 7:05:14

一、web push 使用动机与原理简述

相较于移动端本地应用,web站点常常缺少一项常用的功能:推送通知。此处的推送通知一般指由浏览器实现的消息推送,换个说法,就是用户在打开浏览器时,不需要进入特定的网站,就能收到该网站推送而来的消息,例如:新评论,新动态等等。

那么web push究竟是怎样的一个流程呢,简单地说,可以分为三个步骤:

  1. 客户端完成请求订阅一个用户的逻辑
  2. 服务端调用遵从web push协议的接口,传送消息推送(push message)到推送服务器(该服务器由浏览器决定,开发者所能做的只有控制发送的数据)
  3. 推送服务器将该消息推送至对应的浏览器,用户收到该推送

第一步,客户端请求订阅用户,过程如下:

图片描述

说明一下这三步,在第一步之前,应用服务器需要生成应用服务器密钥(application server keys),其作用是标识该服务器,保证每次发消息推送的都是同一个服务器。然后,客户端将会请求用户授权消息推送,一旦用户授权,浏览器就会生成一个PushScription,然后这个PushScription将会被发送至服务器,存入数据库,在后面的消息推送中使用。


http://www.ppmy.cn/news/451349.html

相关文章

怎么使用播放麦克风输入的音频呢

mysql联合查询orderby慢的问题mysql联合查询orderby慢的问题 MCI在一个线程中启动一个音频在另一个线程中终止它如何做到啊 mysql联合查询orderby慢的问题mysql联合查询orderby慢的问题 http://weibo.com/p2019-0107p/2313474325457955804716/wenda_home http://weibo.com/o…

HGAME2020 签到题ProPlus

http://oss-east.zhouweitong.site/hgame2020/week1/SignInProPlus_eEH43ZcCHfqS1XVW1mIVliBWBaD8juVI.zip 这是一个加强版的签到题,下压缩包下来有这些东西 打开txt看一下 它说先栅栏再凯撒,先句子再密码。 得嘞,那就把下面那一坨解密了 解…

python爬虫--获取百度热榜

先导入模块: import requests from lxml import etree# 此处必须加headers,不加则返回的页面与网页源代码不一致 header {Cookie: BIDUPSIDD99314F8A5E53EA50B85C37A0D96C400; PSTM1576140470; HOSUPPORT1; BAIDUID490062CDE50C5B626A1882E6938F5EE7:FG1; UBIfi_P…

【PWA】web推送技术

伴随着今年 Google I/O 大会的召开,一个很火的概念–Progressive Web Apps 诞生了。这代表着我们 web 端有了和原生 APP 媲美的能力。但是,有一个很重要的痛点,web 一直不能使用消息推送,虽然,后面提出了 Notification…

《Reinforcement Learning: An Introduction》第5章笔记

Chapter 5 Monte Carlo Methods Monte Carlo 方法不假设拥有完备的环境知识,它仅仅需要经验–从与环境的实际或模拟交互中得到的一系列的状态、动作、和奖励的样本序列。 Monte Carlo方法是基于平均采样回报的来解决强化学习问题的方法。 5.1 Monte Carlo Predic…

第十一章 序列操作相关函数

1. 【判断可迭代对象中的元素是否全为True】all()函数 语法参考 all()函数用于判断可迭代对象是否包括假值即0、空、False,除此之外都属于真值。如果包括假值结果就为False,否则结果就为True。all()函数的语法格式如下: all(iterable)参数…

简简单单学习Cpp-构造函数的调用规则

简简单单学习Cpp-构造函数的调用规则 规则 如果提供了有参构造 那么编译器不会提供默认的构造函数如果提供了拷贝构造函数 那么编译器不会提供默认的构造函数和默认的拷贝构造函数 # define _CRT_SECURE_NO_WARNINGS #include <iostream> #include "test.h"…

msm android机型适配,英雄联盟手游安卓及iOS适配机型汇总 LOL手游适配机型一览

原标题&#xff1a;英雄联盟手游安卓及iOS适配机型汇总 LOL手游适配机型一览 英雄联盟手游马上就要在6月6日正式开测了&#xff0c;很多玩家还不清楚LOL手游的适配机型到底有哪些&#xff0c;下面就来为大家分享一下英雄联盟手游的适配机型汇总。 英雄联盟手游安卓及iOS适配机型…

HTC U11 EYEs刷机包 HTC U11 EYEs原厂系统维修线刷包msm8976含教程

HTC U11 EYEs刷机包 HTC U11 EYEs原厂系统维修线刷包msm8976含教程 HTC U11 EYEs刷机包&#xff0c;来自HTC手机刷机售后的专用维修线刷包资料&#xff0c;维修测试完美解决手机所有的系统问题。 HTC U11 EYEs实现了IP67级防水防尘。基础参数包括骁龙652处理器&#xff08;msm8…

MSM8937系统启动流程

1 Boot Address for Processors使用的处理器 chipsets里有不同的处理器&#xff0c;下图显示了处理器的类型以及启动地址 Subsystem Processor Boot address APPS Cortex-A53 0x00100000* RPM Cortex-M3 0x00200000 | (Subsystem view) | 0x0(System view) Modem…

一篇转载(感谢原作者)

Bayer AF是高通最近的平台引入的一个功能&#xff0c;是将AF的fv统计放在Bayer域来做&#xff08;之前是在YUV域做统计&#xff09;&#xff0c;避免ISP&#xff08;尤其是降噪模块&#xff09;影响图像的对比度信息。MSM8996/MSM8952/MSM8976/MSM8956/MSM8953/MSM8937以及之后…

你想在旧Android手机上装Linux系统吗?看这里

如果您对此文感兴趣&#xff0c;说明您应该使用过Linux&#xff0c;并且知道Linux几乎可以在任何硬件上运行。但有时我们也会想&#xff0c;Android不是已经是Linux了吗&#xff1f;为啥还要再安装Linux呢&#xff1f; Linux操作系统实际上应该被称为GNU/Linux。但随着时间的推…

MSM8937系统启动流程【转】

本文转载自&#xff1a;https://blog.csdn.net/chenzhen1080/article/details/54945992?utm_sourceblogxgwz8 1 Boot Address for Processors使用的处理器chipsets里有不同的处理器&#xff0c;下图显示了处理器的类型以及启动地址Subsystem Processor Boot addressAP…

NVM安装使用

电脑重装了系统&#xff0c;需要重新安装软件应用&#xff0c;顺便记录一下安装过程。 NVM是一个Node的版本管理工具&#xff0c;通过NVM可以方便的切换Node的版本 安装 下载&#xff0c;去github下载 Releases coreybutler/nvm-windows 运行安装程序 使用 接下来使用…

2023年6月GESP能力等级认证C++一级真题

2023-06 GESP一级真题 题数&#xff1a;27 分数&#xff1a;100 测试时长&#xff1a;60min 一、选择题(每题 2 分&#xff0c;共 30 分) 1.以下不属于计算机输入设备的有 (B ) 。&#xff08;2分&#xff09; A、键盘 B、音箱 C、鼠标 D、传感器 答案解析&#xff1…

desensitization实现数据脱敏

desensitization实现数据脱敏 一、前言二、desensitization简介三、desensitization使用1.导入依赖2.对数据返回对象脱敏3.对值脱敏 一、前言 在实际开发过程中&#xff0c;我们时常出于隐私的要求&#xff0c;不再返回完整的用户姓名&#xff0c;电话等隐私信息&#xff0c;这…

校园二手物品商城交易平台

1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目&#xff0c;校园二手商城交易平台。 计算机毕业生设计,课程设计需要帮助的可以找我 源码获取------》 链接&#xff1a;https://pan.baidu.com/s/1CdxrlV7GeRRmsT9UWEMtJg 提取码&#xff1a;cygy 2 设计概要 2…

【计算机毕业设计】高校二手交易平台

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 摘 要 本论文主要论述了如何使用JAVA语言开发一个高校二手交易平台&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#…

计算机毕业设计 SSM二手书交易系统 校园二手书交易系统 二手书籍交易平台Java

精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设老哥&#x1f525; &#x1f496; Java实战项目专栏 Python实…

校园二手商品交易平台的设计与实现(J2EE)

目 录 摘要 I Abstract II 目录 III 1 绪论 1 1.1 课题研究背景及意义 1 1.2 本课题主要工作 1 2 系统相关技术 3 2.1 J2EE技术 3 2.2 MVC模式 4 2.3 B/S结构 4 2.4 数据库技术 4 3 系统需求分析 6 3.1 用户功能需求 6 3.2 系统可行性分析 6 3.2.1 技术可行性 6 3.2.2 经济可行…
最新文章