高頻面試題小記

一.概念性問題

1.BS和CS的區別

1)開發維護成本

cs開發維護成本高於bs。因爲採用cs結構時,對於不同的客戶端要開發不同的程序,而且軟件安裝調試
和升級都需要在所有客戶機上進行。
bs只需要將服務器上的軟件版本升級,然後從新登錄就可以了。

2) 客戶端負載

cs客戶端負載大。cs客戶端不僅負責和用戶的交互,收集用戶信息,而且還需要通過網絡向服務器發出
請求。
bs把事務處理邏輯部分交給了服務器,客戶端只是負責顯示。

3) 安全性

cs安全性高。cs適用於專人使用的系統,可以通過嚴格的管理派發軟件。
bs使用人數多,不固定,安全性低。

4) 作用範圍

Client/Server是建立在局域網的基礎上的。Browser/Server是建立在廣域網的基礎上的。

2.MVC/MTV

1) MVC概念

MVC開始是存在於桌面程序中的,M是指業務模型 model,V是指用戶界面 view,C則是控制器
controler,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一
批統計數據可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新

2) 分層介紹

  • Model(模型) -----封裝數據的交互操作 CRUD
  • View(視圖) -----是用來將數據呈現給用戶的
  • Controller(控制器) ------用來協調Model和View的關係,並對數據進行操作,篩選

3) MTV

也叫做MVT,本質上就是MVC,變種		
Model(模型)     -----同MVC中Model
Template(模板)  -----同MVC中View
Views(視圖函數)-----同MVC中Controller

三.後端問題

1.常見的請求狀態碼

200:成功
301:永久重定向
302:重定向
403:防止跨站攻擊
404:路徑錯誤
405:請求方式錯誤
500:後臺業務邏輯錯誤

2. token的基本概念

基本概念:

Token 的中文意思是“令牌”。主要用來身份驗證。 Facebook,Twitter,Google+,Github 等大型網站都在使用。比起傳統的身份驗證方法,Token 有擴展性強,安全性高的特點,非常適合用在 Web 應用或者移動應用上,如果使用在移動端或客戶端開發中,通常以Json形式傳輸,服務端會話技術,自定義的Session,給他一個不能重複的字符串,數據存儲在服務器中

驗證方法:

使用基於 Token的身份驗證方法,在服務端不需要存儲用戶的登錄記錄。大概的流程是這樣的:

  1. 客戶端使用用戶名跟密碼請求登錄
  2. 服務端收到請求,去驗證用戶名與密碼
  3. 驗證成功後,服務端會簽發一個 Token,再把這個Token 發送給客戶端
  4. 客戶端收到 Token以後可以把它存儲起來,比如放在 Cookie裏或者 Local Storage裏
  5. 客戶端每次向服務端請求資源的時候需要帶着服務端簽發的Token
  6. 服務端收到請求,然後去驗證客戶端請求裏面帶着的 Token,如果驗證成功,就向客戶端返回請求的數據

3. cookie和session的區別

(1) cookie數據存放在客戶端上,session數據放在服務器上。
(2) cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙。考慮到安全應當使用session。
(3) session會在一定時間內保存在服務器上。當訪問增多,會比較佔用你服務器的性能 。考慮到減輕服務器性能方面,應當使用COOKIE

4. session與token的區別

(1) 作爲身份認證 token安全性比session好,因爲每個請求都有簽名還能防止監聽以及重放攻擊
(2) Session 是一種HTTP存儲機制,目的是爲無狀態的HTTP提供的持久機制。Session 認證只是簡單的把User 信息存儲到Session 裏,因爲SID的不可預測性,暫且認爲是安全的。這是一種認證手段。 但是如果有了某個UserSID,就相當於擁有該User的全部權利.SID不應該共享給其他網站或第三方.
(3) Token,如果指的是OAuth Token 或類似的機制的話,提供的是 認證 和 授權 ,認證是針對用戶,授權是針對App。其目的是讓 某App有權利訪問 某用戶 的信息。這裏的Token是唯一的。不可以轉移到其它 App上,也不可以轉到其它 用戶上。

5.發送session的大致流程

在這裏插入圖片描述

6. csrf攻擊與防禦,使用token進行攻擊

網頁鏈接

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