在我的應用程序架構,我有以下組成部分:誰與API(REST)通話? Web客戶端與服務器?
- Mobile客戶端
- API(REST)
- Web客戶端
- Web服務器(Web客戶機)
手機正在與api交談,這很明顯。 但是,我想知道哪個Web組件應該與api對話。
在開始的時候,我開始把它變成服務器端。然後我意識到服務器只是簡單地調用api,客戶端也可以這麼做 - 爲什麼不將這些調用委託給客戶端呢?那就是:
- 要求:客戶端 - >服務器 - > API
- 響應:API - >服務器 - >客戶端
我們得到:
- 要求:客戶端 - > serevr + client-> api
- response:server - > client,api - > client。
它的優點是我們的服務器必須減少網絡呼叫,從而減少帶寬。現在客戶端可能需要一點點增加的帶寬,但它不需要處理所有的用戶。另外,客戶端的整體加載時間不會增加(我認爲?),因爲客戶端必須等待api響應;無論是否通過服務器。
因此,目前,我的網絡客戶端正在直接與網絡通話。 但是,它感覺有點奇怪,特別是關於認證。
- 這是正確的選擇嗎?
- 兩者之間有更好的選擇嗎?
- 是否有更多的優點或缺點這種選擇