What is the difference between Forever-frame and server sent events? -


this question similar question:what difference between web sockets, long polling, server-sent events , forever frame?

however, question's answer doesn't mention difference between sse , forever-frame.
let me give brief explanation them.

regarding sse, system resembles comet, point different comet not breaking connection after data being sent. so, connection server client long-alive , client receives series of fragments of whole data.

on other hand, forever frame seems similar me. in forever frame, first client receives page including iframe tag, establishing long-lived connection inside hidden iframe. , client receives chunked datas server , manipulates dom functions on first document client has.

i assume difference forever-frame uses iframe tag in mechanism, sse doesn't , sse can realized more ways. right?

i'd not heard of forever-frame name before! (it covered in ch.7 of book, data push apps html5 sse, in "iframe" section).

long-polling: make request (using xmlhttprequest, i.e. ajax), keep open until data ready on server. socket closes. re-connect next bit of data.

xhr polling: make request (using xmlhttprequest2, i.e. ajax), listen in readystate==3 signals. back-end server has know keep connection open, , client has know listen readystate==3. (does not work in ie9 , earlier, because browser never delivers readystate==3 messages, goes straight readystate==4)

iframe: open hidden iframe back-end process. regularly go @ source code of iframe, , see if new there. (technically works on browsers, ie8 , ie9 ones in (2013) tests low enough latency updates useful.)

sse: html5 standard works xhr polling (firefox , chrome, @ least, implement directly on top of xmlhttprequest2), complex details hidden you. adds auto-reconnect if socket goes down, , few other high-level features that.

at end of chapter 7 of afore-mentioned book, show code techniques work in browser. order of preference is:

  • sse if available
  • else xhr if available
  • else iframe if ie8 or ie9
  • else longpoll

there 1 other difference: xhr , iframe techniques storing entire message history in memory. so, if intend keep socket open long time and/or send lot of large messages, may cause memory issue wouldn't happen sse.

executive summary: don't worry "forever-frame" unless have enough customers still using ie8/ie9 longpoll approach create noticeable additional load on infrastructure.


Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -