1.1 客戶端與服務端
客戶端 :用于與用戶進行交互,接受用戶的輸入或操作,且展示服務器端的數據以及向服務器傳遞數據。
例如:手機app,微信小程序、瀏覽器…
服務端 :與客戶端進行交互,接受客戶端的數據、處理具體的業務邏輯、傳遞給客戶端需要的數據
舉例:應用服務器、數據庫服務器、Redis服務器、DNS服務器、ftp服務器
1.2 客戶端與服務端的交互
請求 :客戶端向服務端傳遞數據的主要方式之一,例如我們在瀏覽器中輸入一個網址并提交表單時,瀏覽器會攜帶你的個人信息等數據傳遞給服務器,這就是請求的過程。
響應 :服務端向客戶端傳遞數據的主要方式之一,在接收到用戶發送過來的網址的請求時,服務端對發送過來的數據進行處理,并將結果反饋給用戶。例如,服務器可能會從數據庫中檢索數據,生成HTML文件,然后將這些數據作為響應返回給瀏覽器。瀏覽器接收響應后,解析和渲染HTML、CSS和JavaScript,將結果呈現在用戶眼前。
1.3 Javaweb技術棧
JavaWeb是Java技術在Web開發領域的應用,基于java語言來編寫 服務器端 的代碼。
前端部分 :HTML CSS JavaScript ES6 Nodejs npm vite vue3 router pinia axios element-plus …
后端部分 :HTTP xml Tomcat Servlet Request Response Cookie Sesssion Filter Listener MySQL JDBC Druid Jackson lombok jwt …
1.4 CS 和 BS 模式
CS模式(客戶端/服務器模式) ,Client-Server
你的電腦需要有一個專門的程序(客戶端軟件),比如一個游戲或者辦公軟件,它可以直接和服務器通信。
想象一下,你在一個餐廳里吃飯:你就是客戶端,你在使用手機(客戶端設備)進行通信,點菜(發送請求)。廚師就是服務器,他接收你的請求,準備食物(處理請求),最后端送食物給你(響應請求)。
BS模式(瀏覽器/服務器模式) ,Browser-Server
在這個模式下不需要在電腦安裝任何特定的軟件只需要一個瀏覽器,就可以通過互連網訪問各種網站和服務。
想象一下,你通過手機打開一個訂餐網站(通過瀏覽器訪問),服務器還是那個廚師,但是你這次不需要去餐廳。
CS模式通常性能更好,適合需要復雜交互的應用程序;BS模式則更方便,適合通過互聯網訪問的服務。
1.5 JavaWeb實現前后端分離
前后端分離是什么?
一種開發方式,讓負責網頁界面(前端)的開發人員和負責處理業務邏輯(后端)的開發人員可以分開工作,互不干擾。
如何實現前后端分離
- 開發分離:后端開發人員創建一些API(作為信息傳遞通道),這些API可以被前端調用,用來獲取數據或發送數據。后端程序員只需要按照接口文檔編寫后端代碼,無需關心前端代碼。
- 部署分離:前端的網頁和后端的服務器可以分別部署在不同的服務器上,這樣即使后端服務器出現問題,前端的代碼仍然可以正常訪問。