網絡編程:軟件開發架構

一、楔子

現在我們已經學會了寫Python代碼,假如你寫了兩個Python文件a.py和b.py,分別去運行,你就會發現,這兩個python的文件分別運行的很好,但是如果這兩個程序之間想要傳遞一個數據,應該怎麼做呢?

在這裏插入圖片描述
類似的機制有網盤、QQ等等。我們可以在我們的電腦上和別人聊天,可以在自己的電腦上向網盤中上傳、下載內容。這些都是兩個程序在通信。由於在不同機器上的程序需要通信,才產生了網絡。

二、軟件開發架構

我們瞭解的涉及到兩個程序之間通訊的應用大致可以分爲兩種:
第一種是應用類程序:QQ、微信、網盤這一類是屬於需要安裝的桌面應用
第二種是web類程序:用戶只需要瀏覽器即可訪問程序。常見的web類應用程序 比如百度、知乎、CSDN等使用瀏覽器訪問就可以直接使用。
不管是應用類程序還是web類程序,這些應用的本質其實都是兩個程序之間的通訊, 而這兩個分類又對應了兩個軟件開發的架構。

1、客戶端服務端概念

客戶端:就是我們常用的程序例如QQ、微信,瀏覽器等等。
服務端:要一直運行着給別人提供服務的機器(電腦、服務器)。

2、C/S架構

C/S即:Client與Server,中文意思:客戶端與服務器端架構,這種架構也是從用戶層面(也可以是物理層面)來劃分的。
這裏的客戶端一般泛指客戶端應用程序exe,程序需要先安裝後,才能運行在用戶的電腦上,對用戶的電腦操作系統環境依賴較大。在這裏插入圖片描述

3、B/S架構

B/S架構:Browser與Server,中文意思:瀏覽器與服務器端架構,這種架構是從用戶層面來劃分的。
Browser瀏覽器,其實也是一種Client客戶端,只是這種客戶端不需要大家去安裝什麼應用程序,只需要在瀏覽器上通過HTTP請求服務器端相關的資源(網頁資源),客戶端Browser瀏覽器就能進行增刪改查。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章