是否有真正的服务器推送http?

Jus*_*808 17 browser push http long-polling

我知道有办法伪造它,轮询(或长轮询),但有没有办法让服务器联系浏览器推出信息?

轮询选项会浪费服务器上的资源,并且取决于服务器可以将其锁定(例如apache和iis).

似乎很多网站都使用长轮询来伪造服务器端推送机制而不是http.将一个真正的推送协议内置到浏览器中不是更好吗?

哪些选项对服务器友好,可以将(虚假或其他)信息推送到Web浏览器?

leg*_*ter 30

我知道有办法伪造它,轮询(或长轮询),但有没有办法让服务器联系浏览器推出信息?

必须首先由客户端建立连接到服务器.服务器无法联系Web客户端.

轮询选项会浪费服务器上的资源,并且取决于服务器可以将其锁定(例如apache和iis).

那是对的.频繁的轮询是低效的,这是我们转向具有持久连接的推送世界的原因之一.WebSockets将是最佳解决方案.我为Pusher工作,这是一个托管的实时WebSocket解决方案,我们已经看到这个技术在这个技术的大量推动下被一个社区推动,该社区认为它是解决资源和实时通信问题的最佳解决方案.

似乎很多网站都使用长轮询来伪造服务器端推送机制而不是http.将一个真正的推送协议内置到浏览器中不是更好吗?

是的,这就是我们现在拥有WebSockets的原因.Web浏览器的HTTP解决方案最终是一种破解,并且在浏览器之间不能一致地(以相同的方式)工作.

哪些选项对服务器友好,可以将(虚假或其他)信息推送到Web浏览器?

  • HTTP长轮询:连接保持打开状态,直到服务器有新信息.注意:这与标准轮询不同,对新信息的请求可能是完全浪费时间.
  • HTTP Streaming:这可能是您正在寻找的解决方案(回答HTTP问题).使用这种技术,连接保持打开状态,新的信息可以从现有的连接推送到服务器到客户端,而不会像HTTP Long-Polling一样关闭和重新打开连接.
  • HTTP/2服务器推送:另一种从服务器推送到客户端的标准化机制.这些被称为"推送响应",浏览器可以缓存这些.
  • WebSockets:Web浏览器(或任何Web客户端)内单个TCP连接的完全双向和全双工通信.

相关信息和资源:

  1. 您可以将Server-Sent Events(EventSource API)视为HTTP Long-Polling和HTTP-Streaming的标准化.
  2. HTTP/2服务器推送