※客戶端和部落格網站之間的互動行為:

- 客戶端的請求:客戶端使用GET方法,向後端發送請求,目的是希望獲取特定文章的內容,這裡可以視為客戶端的行動或意圖。
- 後端的處理:後端接收到請求後,根據請求中指定的ID,從資料庫中檢索出符合條件的文章。這裡展示了後端的角色,即根據客戶端的需求進行數據操作。
- 回應到客戶端:後端找到文章後,將內容打包回傳到前端,然後由前端呈現給客戶端。這部分是客戶端接收到結果並消耗內容的過程。
※ 做一個聊天室的初步構想:
- 發 Http Request 向後端查詢有沒有新訊息?
- 當對方發新訊息給我,我收不到?
- 再發一次 Http Request?
※ HTTP Short Polling(短的輪詢):

1.短的輪詢的即時通訊模型:不斷地來回詢問
- 圖中顯示,客戶端會每隔固定的時間就發出HTTP請求(request),向伺服器查詢是否有新訊息。
- 伺服器接收到請求後,回應當時可用的訊息(如果有)。
- 若沒有新訊息,客戶端會等待一段時間後再次發送請求。
2.互動性特徵:
- 在即時通訊中,這種方式提供了基礎的互動,但它不像WebSocket或長輪詢那樣真正實現“即時”。
- 短輪詢的效果是在一定頻率內模擬即時訊息的感覺,但可能會導致延遲或頻繁的網路流量。
※ 解決HTTP Short Polling(短的輪詢)的缺點:HTTP Long Polling(長的輪詢)
- 客戶端發送請求(Request)到伺服器,並保持連線直到伺服器有更新。
- 伺服器在有新訊息時回應(Response),而不是一次就結束連線。
- 回應後,客戶端再次發送下一次請求,重複這個過程。

※ 解決HTTP Long Polling(長的輪詢)的缺點:Websocket
- 雙向通訊:圖中的箭頭清楚地表現出 WebSocket 的特徵——客戶端與伺服器之間的連線建立後,雙方都可以主動向對方發訊息。
- 持久連線:與 HTTP 短輪詢或長輪詢不同,WebSocket 在初次連線建立後,連線會一直保持,從而大幅降低重複建立連線的開銷。
- 即時性:透過 WebSocket,伺服器可以在有新訊息時立即推送給客戶端,而不需要等待客戶端發請求,達到更高效的即時通訊效果。
- 應用場景:這樣的機制非常適合應用於即時聊天、遊戲同步、股票行情更新等需要高速互動的場景。

※ 簡單說明:
- 以前學會的 Http 是寄信給對方。單向傳遞訊息,每次都需要獨立建立連線並等待回覆。
- 可以把 WebSocket 想像成是打電話,當電話接通以後,雙方都可以主動向對方說話。












