網路溝通可以分成兩種主要的 API

HTTP

https://factoryhr.medium.com/http-2-the-difference-between-http-1-1-benefits-and-how-to-use-it-38094fa0e95b

REST (REpresentational State Transfer)

→ 幫 HTTP 套規則

HTTP polling(輪詢)

可以用兔子(Client)和店老闆(Server)來想像。

HTTP Short Polling

需要一直問。像是兔子一直站在店旁邊不停地問「有紅蘿蔔嗎?」,每問一次老闆就要回他一次「沒有。」或是「有。」老闆回完話後,兔子過一陣子之後就會再問一次「有紅蘿蔔嗎?」所以整個流程就會像:

00:00:00 兔子 -> 有紅蘿蔔嗎?
00:00:01 老闆 -> 沒有。
00:00:03 兔子 -> 有紅蘿蔔嗎?
00:00:04 老闆 -> 沒有。
00:00:06 兔子 -> 有紅蘿蔔嗎?
00:00:07 老闆 -> 有,拿去。
00:00:09 兔子 -> 有紅蘿蔔嗎?

這種方法雖然不會占用 Client 和 Server 過多的資源,但是因為他每過一陣子才會再重新問一次,所以也不能拿到即時的資料。還有就是在來回傳輸的過程中還是會頻繁的浪費網路資源,還有可能什麼都沒拿到。

HTTP Long Polling

這個方法就是老闆生氣了,不想要理兔子了,所以他決定等到貨到了再跟兔子說有紅蘿蔔了。但是如過或太久沒有到,久到他都氣消了,他還是會跟兔子說「沒有」。所以對話會變成下面這樣:

00:00:00 兔子 -> 有紅蘿蔔嗎?
00:00:10 老闆 -> 沒有。
00:00:10 兔子 -> 有紅蘿蔔嗎?
00:00:13 老闆 -> 有,拿去。
00:00:13 兔子 -> 有紅蘿蔔嗎?