官术网_书友最值得收藏!

2.3 前后端交互難點

1. 前后端合理劃分邏輯

當用戶體系發展增大時,用戶訪問系統的頻率也會加大,系統的后端服務器壓力非常大,更易受到外界的攻擊,如通過木馬程序、篡改用戶資料等,所以系統的安全性很重要。那么如何防止外界攻擊呢?

HTTP的請求容易被截取篡改,而SWF文件也存在被攻擊的風險。把HTTP的請求升級成HTTPS短期內可以防止惡意攻擊,但當外界破解了證書后,同樣可以截取篡改,所以從技術層面很難防止。前后端溝通合作時,需要考慮安全、性能等問題,而不是用“偷懶”的方式去快速實現功能,需考慮數據校驗、交互令牌授權、敏感數據加密等。此時如何在其中權衡是一個很大的難點。我的建議是,首先看功能的復雜度和涉及面,如復雜且涉及面廣,評估工作量時需全面考慮安全性、性能等問題。如功能不復雜且涉及面不多,不建議全面考慮以上的問題,可以在設計時主要考慮大的方向,更多細節可以通過注釋的方式標明,為后續提供思路。

提示

思考問題不要摻雜著固定的思維,多從高效、用戶體驗角度去設計,不要為了完成任務而完成,雙方多配合溝通,合理化交互請求,盡量精簡內容,提高網絡傳輸的速度,只要不涉及大的架構性變動,不要嫌麻煩。當功能出現BUG時,雙方要快速配合定位問題并處理。

2. 技術方面

在技術方面,有如下幾點建議。

1)合理約定精簡接口:前后端可以相互討論,根據實際業務場景去設計接口,接口的地址、參數應當精簡,以加快網絡傳輸。

2)前后端授權認證機制:前后端可以根據實際業務場景討論使用合適的授權認證機制,盡量滿足業務場景,同時也具有較高的安全性。

3)Head頭部識別:前后端交互過程中,可以充分利用Head頭部特性去設計,支持密文傳輸、共同化參數統一處理。

4)入參、出參統一格式化:入參、出參具有一定的格式,交互中可以提前確定一套完整且易擴展的標準格式。

5)業務狀態標準化:業務狀態碼標準化,可以方便前端進行定制化的業務擴展,如定制化彈窗、提示、業務場景處理。

6)跨域處理:跨域在分布式中頻繁出現,由于前后端分離后,兩端各自部署,部署的特性導致兩者不屬于同一個域名下,影響兩端交互。有效選擇跨域處理方案尤為重要。

7)靜態資源合理化:分布式環境前后端分離狀態下,前端頁面的相關靜態資源文件需要提前規劃部署方案,有效提高用戶訪問速度。

8)離線獲取數據:提高用戶體驗,在無網絡情況下,充分利用之前下載的網絡數據進行交互,滿足短時間內的業務場景需求。

9)數據兼容:前端涉及多種瀏覽器、手機設備。這些瀏覽器、設備間訪問需要兼容。

10)網絡傳輸:交互過程中盡量減少傳輸的數據量,提高傳輸的效率。

11)數據緩存規則:前端、后端根據業務功能場景特性,可以商討部分數據或字段進行緩存以及存儲的策略規則,從而提高響應速度。

12)高可用部署:交互過程中需要考慮如何高效交互,以及高用戶量訪問時如何避免異常卡死,高可用的部署策略將盡全力保證兩端的正常。

主站蜘蛛池模板: 耿马| 西平县| 阳山县| 秦皇岛市| 蒲江县| 会昌县| 阿克陶县| 芦山县| 封丘县| 商洛市| 沈阳市| 渑池县| 望都县| 会泽县| 浦江县| 饶平县| 友谊县| 四子王旗| 镇赉县| 汉阴县| 绍兴市| 成都市| 广西| 滦平县| 葫芦岛市| 丹棱县| 民权县| 石狮市| 桦川县| 韶关市| 北京市| 黄梅县| 崇文区| 临西县| 麟游县| 奎屯市| 嘉兴市| 苗栗市| 汶川县| 永胜县| 额尔古纳市|