推送

Server-Sent Events、WebSocket 和 HTTP

橙色网站目前正在讨论一篇关于 Server-Sent Events 的文章,特别是与 WebSockets(以及新兴的WebTransport)相比。文章和讨论都很有见地,但我认为他们遗漏了一个具有相当深远影响的方面。

中介很重要

许多年前,当我在一个超大型网站的基础设施团队工作时,浏览器开始支持 WebSockets,该网站上的各种属性(新闻、体育、娱乐等)都对它提供的可能性感到兴奋. 他们需要扩展 WebSockets 而我们想要支持它们,所以我们询问他们希望我们实现哪个库——实际上是哪个协议。

        

UnifiedPush:一种去中心化的开源推送通知协议

现代 Android 智能手机依赖于大量服务,从应用商店和日历到消息传递和推送通知。他们中的大多数都有开放的替代方案,但直到现在,推送通知的唯一选择是 Google 的专有服务,Firebase Cloud Messaging (FCM)。 UnifiedPush 是一种新的替代方案,它允许您在不依赖于单个公司的情况下获得推送通知

推送通知对于现代移动体验至关重要,因为它们允许应用与用户实时通信,即使未在主动使用时。依赖 Google 提供的推送通知导致了对隐私和独立性的担忧。专有的 FCM 库不能包含在 F-Droid 应用中,并且依赖于 Google 服务。因此,通常会看到 FOSS 应用采用应用和服务器之间的持久直接连接作为替代方案。…

iOS 和 iPadOS 上 Web 应用程序的 Web 推送

今天标志着 iOS 和 iPadOS 16.4 beta 1 的发布,它支持网络推送和主屏幕网络应用程序的其他功能。

显示通知到达的 iPhone 锁屏

今天还带来了 Safari 16.4 的第一个测试版。这是一个巨大的版本,包含 WebKit 中超过 135 种功能——包括 RegExp 后视断言、导入地图、OffscreenCanvas、媒体查询范围语法、@property声明font-size-adjust性 Shadow DOM 等等。当 Safari 16.4 向公众发布时,我们将撰写有关这些新 WebKit 功能的所有内容。同时,您可以在Safari 16.4 beta 1 发行说明中阅读新功能和修复的完整列表。

            

使用Mercure创建实时应用

Mercure是一种用于实时通信的开放协议,旨在快速,可靠和节省电池。它是Websocket API和依赖它的高级库和服务的一种现代便捷的替代方法。

Mercure在将流和异步功能添加到REST和GraphQL API时特别有用。由于它是HTTP和SSE之上的薄层,因此现代Web浏览器,移动应用程序和IoT设备都原生支持Mercure 。…

    

Server-Sent Events(服务器推送) 教程

服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE)。本文介绍它的用法。

一、SSE 的本质

严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。

也就是说,发送的不是一次性的数据包,而是一个数据流,会连续不断地发送过来。这时,客户端不会关闭连接,会一直等着服务器发过来的新的数据流,视频播放就是这样的例子。本质上,这种通信就是以流信息的方式,完成一次用时很长的下载。…

HTTP/2服务器推送已死

HTTP/2附带的热门功能之一是PUSH帧。主要思想是,如果服务器可以预测客户端可能要发出的请求,则服务器可以抢先向客户端发送请求/响应对并预热其缓存。

这是我很久以来一直很感兴趣的功能。我认为API使缓存无效和预热缓存,消除对复合请求的需求(我认为这是一种技巧,尽管有时是必要的)非常有用。

为了帮助推进这个想法,我编写Internet Draft,以使API客户端告诉服务器他们希望推送哪些资源,我构建了具有一流,深度集成的Push支持并添加了支持的Node.js框架。为Prefer-PushKetting。…

        

PHP使用反向Ajax技术实现在线客服系统

PHP使用反向Ajax技术实现在线客服系统

文章正文

PHP使用反向Ajax技术实现在线客服系统

反向Ajax技术,又称为服务器推技术,server push等。一般用于“在线客服”、“消息推送”、“即时通信”等功能中,比如新浪微博的私信功能,就是客户端不断的请求服务器并创建连接,去查看服务器有没有返回的信息,建立连接比较浪费服务器资源,下面我将根据客户端创建连接的不同性来介绍一下实现反向Ajax的三种思路。

Nginx 学习笔记 介绍HTTP / 2服务器推送(Server Push)(译)

原文地址:https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/

我们很高兴地宣布,2018年2月20日发布的NGINX 1.13.9支持HTTP / 2服务器推送。对于NGINX Plus用户,即将发布的NGINX Plus R15版本将包含HTTP / 2服务器推送支持,计划于2018年4月发布。

HTTP / 2规范中定义的服务器推送允许服务器抢先将资源推送到远程客户端,预计客户端可能很快会请求这些资源。通过这样做,您可以在页面加载操作中将RTT(往返时间 - 请求和响应所需的时间)减少一个RTT或更多,从而为用户提供更快的响应。

服务器推送可用于为客户提供样式表,图像以及呈现网页所需的其他资源。您应该注意只推送所需的资源; 不要推送客户端可能已经缓存的资源。

在这篇博文中,我描述了:

配置HTTP /

                    

使用HTTP/2服务端推送(Server Push),大幅提升网页脚本图片加载速度

使用HTTP/2服务端推送(Server Push),大幅提升网页脚本图片加载速度

内容概览

NGINX从1.13.9版本开始支持HTTP/2服务端推送, 使用此特性,能大幅提升前端页面加载速度,如,js.css,image等的加载速度大幅提升。经测试js.css的加载时间,从平均几百毫秒到几秒提升到几毫秒到十几毫秒(1M带宽测试)。

升级工作主要包括:

  1. 升级NGINX
  2. 修改NGINX配置
  3. 修改PHP程序