沒有所謂的B/S架構,只有C/S

来源:https://www.cnblogs.com/wyy5552/archive/2022/10/03/16750666.html
-Advertisement-
Play Games

背景: 這兩天看了一個視頻,介紹什麼是C/S,什麼是B/S,總覺得很奇怪。裡面說到只要是app的,都是client-server,而網頁端,如h5網站,web網站,小程式等都是brower-server架構。感覺這種劃分非常“反直覺”,因為現在的軟體都是多端,連接在“同一個”伺服器下為使用者提供網路 ...


背景:

這兩天看了一個視頻,介紹什麼是C/S,什麼是B/S,總覺得很奇怪。裡面說到只要是app的,都是client-server,而網頁端,如h5網站,web網站,小程式等都是brower-server架構。感覺這種劃分非常“反直覺”,因為現在的軟體都是多端,連接在“同一個”伺服器下為使用者提供網路服務,對於服務端開發來說都是無感知的。那麼,C/S,B/S究竟是什麼,以及什麼樣的關係呢?

先說結論:

B/S屬於C/S,B/S甚至是一種“偽概念”,而是專指客戶端程式是瀏覽器的訪問模式。

一、現狀

搜遍中文互聯網,對於c/s,b/s的解釋,可以歸結於下圖:
image

https://baike.baidu.com/item/B/S結構/4868588
這個圖的來源應該是下麵兩篇論文
原文:https://wenku.baidu.com/view/3b96732fbdd5b9f3f90f76c66137ee06eff94eea.html
原文:https://www.docin.com/p-1208584967.html
image

論文的第一部分介紹“單機程式”,發現幾乎跟第二部分"c/s架構“的優缺點是一致的,感覺第一部分之所以簡短是因為作者也解釋不清楚”單機程式“與”c/s架構“的區別。我們通過對號入座的方式帶入我們平時接觸到的聯網應用,似乎都更接近於B/S, 即便是app應用,都符合B/S的特征,除了“用戶介面”這一條。那麼,究竟問題出在了哪裡?

二、C/S歷史與定義

歷史來源:

  1. Main Frame Computer-->用來處理大型商業數據的集合軟體,一個系統搞定一切;
    2.隨著互聯網的崛起, C/S 客戶端伺服器,兩者進行分離,數據可以存取在遠端的機器上;
    定義:
    在分散式系統上,軟體功能分為兩個部分:客戶端與伺服器。客戶端為用戶提供輸入設備,向伺服器請求需要的信息;伺服器提供數據、資源,返回給客戶端。

參考:https://www.ukessays.com/essays/information-technology/history-of-the-client-server-architecture-information-technology-essay.php#citethis
The client/server model
https://www.ibm.com/docs/en/txseries/8.1.0?topic=computing-clientserver-model

三、後話

之所以應該是最開始論文作者沒有在寫的時候,存粹是為了湊字數,還有自己閉門造車的理解,生生的將B/S剝離了出來。以至於後面以訛傳訛,大家都這樣公式化的記憶。
下次大家如果再回答”請說下cs bs的區別“,就直接說是客戶端不同就可以了。

參考:

問答:
client/server and browser/server
https://stackoverflow.com/questions/5044879/client-server-and-browser-server
百度百科
https://baike.baidu.com/item/B/S結構/4868588
Client–server model
https://en.wikipedia.ahnu.cf/wiki/Client–server_model
Difference Between Web Server and Application Server
http://www.differencebetween.net/technology/difference-between-web-server-and-application-server/
What is Client Server Architecture?
https://intellipaat.com/blog/what-is-client-server-architecture/
what-is-client-server-architecture
https://www.w3schools.in/what-is-client-server-architecture
client/server and browser/server
https://stackoverflow.com/questions/5044879/client-server-and-browser-server
Client/Server Architecture
https://www.techopedia.com/definition/438/clientserver-architecture
An Ontology for Classifying Advanced Visualization Infrastructures
https://www.researchgate.net/publication/274316320_An_Ontology_for_Classifying_Advanced_Visualization_Infrastructures

New way of doing business set to emerge - new 'browser-server' architecture -Internet/Web/Online Service Information
https://www.georgeschussel.com/wp-content/uploads/articles/OM6720050524_browser-server architecture.pdf
https://www.georgeschussel.com/portfolio/the-new-browser-server-architecture/#:~:text=A new architecture that might be called browser-server,executive of Digital Consulting Inc. in Andover%2C Mass.

Difference Between Client Server Application and Web Application

Read more: Difference Between Client Server Application and Web Application | Difference Between http://www.differencebetween.net/technology/software-technology/difference-between-client-server-application-and-web-application/#ixzz7gdFNs1gA


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前兩天在用MyBatis-Plus寫了一張單表的增刪改查,在寫到修改的時候,就突然蹦出一個奇怪的想法。 MyBatis-Plus的BaseMapper中有兩個關於修改的方法。如下: int updateById(@Param("et") T entity); int update(@Param("e ...
  • 現如今,手機錄屏是必不可少的能力之一。對於游戲領域作者來說,在平時直播玩游戲、製作攻略、操作集錦時,不方便切屏,這時在游戲內如果有一個錄製按鈕就可以隨時開啟,記錄下每個精彩瞬間,減少後期剪輯工作量;在直播App中開啟一鍵錄屏,不光方便主播後續的賬號運營與復盤,用戶也能隨時截取有意思的片段傳播在社交媒 ...
  • 效果演示圖 可拖拽側邊欄的使用情況非常多啊,博客園後臺管理左側邊欄就可以拖拽喲!廢話不多說,本隨筆實現的可拖拽側邊欄效果演示圖如下: HTML 代碼 <div class="container"> <div class="left"> <div class="resize-bar"></div> < ...
  • 前言 此文我首發於CSDN(所以裡面的圖片有它的水印) 趁著隔離梳理一下之前做的一個有用的功能:在瀏覽器中去切割多解析度瓦片圖 這是一個有趣的過程,跟我一起探索吧 閱讀本文需具備前置知識:對krpano有所瞭解,如:使用krpano去開發全景 本著故弄玄虛的原則,最精彩的會放到最後揭曉,由淺入深,層 ...
  • 淺學Vue 引入 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script> Hello Vue <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <s ...
  • ES6 部分 Typescript 部分 前端工程面經(節流防抖、https、前端攻擊、性能優化...) https://juejin.cn/post/6844903734464495623 ES6面試(點擊可展開) 為什麼選擇 ES6 ? ES6是新一代的 JS 語言標準,規範了JS的使用標準(v ...
  • CDN
    一、CDN的概念 概念:CDN(Content Delivery Network)是指一種通過互聯網互相連接的電腦網路系統,利用最靠近每位用戶的伺服器,更快、更可靠地將音樂、圖片、視頻、應用程式及其他文件發送給用戶,來提供高性能、可擴展性及低成本的網路內容傳遞給用戶。 即內容分髮網絡。 二、CDN的 ...
  • 有時需要在view頁面設置標簽的狀態為disabled,但是客戶反映radio button和checkbox的顏色很淺,難以識別,尤其是列印後,如下: 可以使用下麵的css更改原有的樣式input[type= "radio" ]:checked:disabled { appearance: non ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...