Server、Client 是什麼?
常常在論壇或是文章,甚至是人的聊天訊息中,常常聽到 -
服務器
伺服器
模擬器
客戶端
這些到底是什麼?他們的用途又是?
Server
首先「Server」,中文直譯就是「服務器」,當然其他也有人稱為「伺服器」;顧名思義他們的主要用途就是提供「服務」。
Server 分為兩個層面:
硬體
就是你摸的到看得到的設備,最簡單的就是一台家用電腦、筆電甚至到專用型伺服器。
軟體
就是直接提供了一些「功能」或是「不特定」的一些服務的軟體。這些軟體都是由各種程式語言撰寫出來的。
註:那還有一個「模擬器」?其實這是天堂私服啟動一個 Service,模擬了天堂的服務器,所以有人稱「模擬器」。
Client
再來「Client」,中文直譯就是「客戶」,我們通常會將其稱為「客戶端」,通常會稱某個人、事、物為客戶,一定是服務方對其的稱呼。
註:所謂的「客戶端」不一定都是人唷,只要被服務的那一方,都可以稱之為「客戶」,就像是在使用電腦在玩天堂的您,也是一個「客戶端」
擬人擬物化 舉例
至此對其兩個名詞應該有一個簡單的理解;舉個例子,讓其擬人化方便腦中想像:
擬人擬物化 Server
「便利商店」這個想像為一個「服務器」,裡面提供了各式各樣的服務,像是 -
購買商品
繳費
領錢/儲值
寄貨/領貨
以上這些都是耳熟能詳的服務。
註:當然他有提供的服務都可以盡情享用,反之沒有提供的服務當然無法在這個「服務器」上找到。
擬人擬物化 Client
「您」就是一位標準的一個「客戶端」:
「您」走進「便利商店」對服務員說:
您:「您好,我要領包裹」
店:「請問手機末三碼?」
您:「123」
店:操作機台查詢,並說
「請問是X先生/小姐嗎?」
您:「是的」
店:至貨物倉庫尋找貨物取出,並說
「這是您的包裹,請您簽收一下」
您:「好的,謝謝」
此處的「您」就是那位「客戶端」。
註:再次強調,客戶端不是都一定是「人」,一個簡單的例子「停車場」是一個服務端,停在裡面的「車子」就是一個客戶端。
Server、Client 之間的關係?
想必看完上面的部分,應該已經知道「Server」與「Client」之間的關係了;
至於他們這之間是透過什麼做溝通?
在現今的科技技術,通常以網路做為媒介,既可以通過「內部網路」對內提供服務,也可以通過「網際網路」對外提供服務。
那Server、Client通過網路是怎麼做到溝通的?
在此處就不提太多關於網路的相關基礎知識。
請看到上面的[擬人擬物化 Client]的部分;看到「您」與「店」之間交談的過程。
這之間的過程大概可以分為四類:
目標(目的, 位置)
請求
處理
響應
說明:
這就是「便利商店」的位置、地址。您總是要知道服務端的店家位置,您才有辦法過去請求並享受其服務麻。
對於「請求」,常常會聽到所謂的「Request」,這就是發出一個對服務端的請求。<似:「您好,我要領包裹」>
此處先提到「回應」,常常會聽到所謂的「Response」,這就是服務端在收到請求後進行處理後,做的回應。<似:「請問手機末三碼?」>
最後才提到「處理」,通常是在服務端收到「請求」後,後續要進行的處理。<似:操作機台查詢>
註:為什麼網路上的文章,通常都沒有提到「目標(目的, 位置)」和「處理」,此處要特別提出?因為Server與Client之間通常不會只有「請求」與「回應」。
您能想像你不知道便利商店位置,然後要您去買一瓶水?然後到達便利商店後,拿著水至櫃檯跟服務員說要結帳,他只回應你說25塊錢,但是不收錢也不操作機台?
至此應該會有疑問,所以Server和Client之間就是做這麼平常的事情?
沒錯!其實他不難,只是他太「抽象」,不容易去理解罷了!
如果到這您都可以吸收理解,其實一張圖就可以代表Server和Client之間的關係:
Client and Server Model - Fast Tech Skills
註:點選圖片可以看到由「Quick Tips」頻道所解說的「Client and Server Model」Youtube 影片。
額外延伸
「服務端」:通常是一對多提供服務,服務的能量會受限制於硬體設備的好壞,軟體撰寫能效能…等等因素。
最常見的就是遊戲Lag,訂票網站、疫苗預約連不進去、塞爆…等等。
伺服器端的特徵:
被動的角色(從)。
等待來自使用者端的請求。
處理請求並傳回結果。
使用者端的特徵:
主動的角色(主)。
發送請求。
等待直到收到回應。
結語
相信到這應該已經對所謂的 Server、Client 有一個初步的了解;當然還有一堆我想寫,但是覺得不適合在這提及的相關知識,避免一下太多無法吸收而產生更多問題。
如果還想要更深入其他相關的知識,不妨將心中的問題輸入搜尋引擎,想必也會找到一些不錯的文章供您閱讀。
|
|
|
|
|
|