websocket和HTTP2.0的服务器推送有什么区别
- http2.0需要客户端发起请求以后,进行相应,再附带推送,需要客户端发起请求。websocket不需要客户端发请求,就能实现推送。
- http2.0的推送内容只是浏览器能够感知即存放在浏览器的缓存中,代码是无法获取到数据的,所以还得配合SSE获取数据。http2.0的推送内容典型场景:向后端请求一个html,服务器把html页面中的css,js等资源也推送到了浏览器,这是客户端发起请求时,直接在缓存中读取。websocket可以拿到数据,在代码中使用。
- HTTP/2 连接不确定性会永远保持连接,而websocket有onclose事件,对代码友好。