# What is Client-Server Model? 主從式架構
## 📌 Introduction
是一種網路架構,將客戶端(Client)與伺服器(Server)區分開來。任何一個客戶端軟體都可以向一個伺服器或應用程式伺服器發出請求。
> 假設你在清華大學網站閱讀文章,你的電腦和網頁瀏覽器就會被當做一個客戶端(Client),同時,組成清華大學的電腦、資料庫和應用程式就會被當做伺服器。當你的網頁瀏覽器向清華大學請求一個指定的文章時,清華大學的伺服器就會從清華大學的資料庫中找出所有該文章需要的資訊,結合成一個網頁,再傳送回你的瀏覽器。
![](https://i.imgur.com/M7UGU7y.png)
## 📌 The Client-Side
運作在**終端電腦上(end-user computer)的應用程式**,會提供使用者介面(User Interface)與使用者互動。大多數情況下會利用和消耗使用者本地的電腦資源,例如:暫存或本地存儲(temporary and local storage)
![](https://i.imgur.com/vTy6brY.png)
## 📌 The Server-Side
**接收來自客戶端請求(Requests)的應用程式**,具備能力回傳正確的資料給客戶端,相較於客戶端的使用者介面,伺服器端通常具備API(application programming interface),亦具備資料庫(Database)來永久儲存相關資料。
![](https://i.imgur.com/1JcoDf1.png)
## 📌 Application
只要你的軟體或應用程式遵循**主從式架構**,客戶端即可傳送(send)和收取(receive)資料到伺服器的API上,你也可以在不同平台上建立任何使用者介面。這亦是現代應用程式或軟體的優勢,可以跨平台並且支援不同的裝置,非常方便!
![](https://i.imgur.com/EnlnuKi.png)
## 📌Comments
Please feel free to correct my mistakes in the article😊.
If u have any further questions or cooperation opportunities, please contact me via
Email📬: willie880201044@gmail.com
## 📌References
1. Wiki 主從式架構: https://reurl.cc/MAp07v
2. Client-Server Application: https://reurl.cc/Q9ro80
3. IT Terminology: What Is a Server Based Network? https://reurl.cc/Gm8q1x