前端校验和后端校验区别
前臺驗證數據格式
后臺驗證的是數據的正確性
當下流行的系統架構方案中,前端和后端都是分離開的。
目的:① 為了方便前端開發人員和后端開發人員可以同時開發;② 前后端分離也使得前后端的代碼可以分開進行管理,方便了各自的版本迭代及控制。
1.1前端校驗?
就是通過前端技術,在瀏覽器(B/S模式中的B(browser)端)上面可以進行簡單的數據檢查。
?
如果前端不進行任何的數據檢查,直接把數據發送給后端,讓后端來進行檢查的話,那么就會帶來這樣的問題:
太浪費網絡,對于網站本身來說完全就是在浪費流量,增加了不必要的服務器壓力。因為前端發起的每次請求都要給到后端,而后端是部署在我們的服務器上的。每次請求過來,服務器都要予以響應。而實際上,對于一些很簡單的校驗,完全可以在用戶的瀏覽器上完成,沒必要專門讓服務器去校驗。
有必要在前端校驗的
必填項、(郵箱、電話號、地址)格式、密碼強度檢測。
比如手機號碼,郵箱號不合法,或者密碼強度太弱,在前端校驗可以不等后端返回,直接提醒用戶不合法,讓用戶及時知曉并更改,避免不必要的提交,再等待服務器返回錯誤信息。
1.2后端校驗
Q1:為什么有后端校驗?
A1:① 因為后端對于前端傳送過來的數據不信任。
因為數據在網絡傳輸過程中有可能被不法分子給篡改了。畢竟,網絡存在安全隱患。當然,解決網絡安全常用的方式有:HTTPS、加簽名等(我對這個不太了解,所以不進行說明了)。
② 前端傳送過來的數據有可能后端的業務邏輯根本不支持。比如說,如下圖所示,【使用狀態】可選擇的值只有3種。結果,前端傳送了一個使用狀態值為5的數據給到后端。而后端開發人員的開發能力參差不齊,有可能針對使用狀態為5的這種情況無法處理甚至直接導致數據庫數據混亂。
Q2:后端校驗分為哪些大類?
A2:大的粒度上分為兩類:① 針對前端傳送過來的數據屬性進行【接口層面】的數據校驗;② 業務邏輯校驗。
我們這里重點要說明的是情況 ① 針對前端傳送過來的數據屬性進行接口層面的數據校驗。這種校驗不帶有任何的業務邏輯層面的校驗,只是簡單的數據合法性校驗。
比如說,手機號碼只能是11位,年齡不能是負數,性別只能是男、女、其他(可能有,我不清楚)等等,類似這種最簡單的數據校驗。用戶名重復校驗,必須提交后臺查詢數據庫,返回是否重復。
必須在后端校驗的
唯一性驗證,驗證碼,敏感詞,出錯概率高的要做異步校驗。對數據庫中的相應字段進行校驗,比如建立主外鍵約束、控制字段長度、是否為空、是否可重復等。
后端校驗可以防止接口被私自調用導致破壞數據庫結構;避免有人模擬瀏覽器行為直接給服務器發請求。
后端校驗可以防止接口被私自調用導致破壞數據庫結構;避免有人模擬瀏覽器行為直接給服務器發請求。
1.3 前后端校驗
只做了前端檢驗,用戶可以通過瀏覽器的控制臺來人為的修改前端代碼,所以:
- 后端驗證必須存在
- 前端是為了更好的用戶體驗
所以,追求用戶體驗的情況下,二者都是需要的。
?
總結
以上是生活随笔為你收集整理的前端校验和后端校验区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搭建webUI自动化及问题解决:Mess
- 下一篇: HTMLTestRunner.py内容