需求:建立即時通道,如聊天室或推播服務
通常使用者開啟網頁都是為了找尋資料,像是下圖左方使用者開啟電商網站,而『取得商品資訊』的動作可以被拆分成幾個部分;像是這些商品資訊都存在資料庫中,應用程式透過使用者操作將參數帶給網頁應用程式,進而可以透過參數回傳該商品資訊。
但當使用情境變成是需要每個使用者即時參與,那上述的方式可能會造成『不夠即時』、『需要一直發送request,造成效能浪費』等問題,在這些情境下polling的方式就不適用了。所以在2011年變出現了Websocket這個新的網路傳輸協定,進行與伺服器連線的能力。
在這邊需要了解一下server-client之間資料交換的方式,最常用的有兩種,如下圖: