shiro前后端分離_為什么要前后端分離?前后端分離的優點是什么?

隨著互聯網的高速發展以及IT開發技術的升級,前后端分離已成為互聯網項目開發的業界標準使用方式。在實際工作中,前后端的接口聯調對接工作量占HTML5大前端人員日常工作的30%-50%,甚至會更高。接下來千鋒小編分享的廣州HTML5大前端學習就給大家講解前后端分離接口。

為什么要前后端分離?

把前端與后端獨立起來去開發,放在兩個不同的服務器,需要獨立部署。兩個不同的工程,兩個不同的代碼庫,不同的開發人員,前后端工程師需要約定交互接口,實現同步開發。開發結束后需要進行獨立部署,前端通過接口來調用調用后端的API,前端只需要關注頁面的樣式與動態數據的解析和渲染,而后端專注于具體業務邏輯。

19bdcb7273f417b1504053febea3cd74.png

前后端分離的優點是什么?

1、徹底解放前端。前端不再需要向后臺提供模板或是后臺在前端HTML中嵌入后臺代。

2、提高工作效率,分工更加明確。前端只關注前端的事,后臺只關心后臺的活,兩者開發可以同時進行,在后臺還沒有時間提供接口的時候,前端可以先將數據寫死或者調用本地的JSON文件即可,頁面的增加和路由的修改也不必再去麻煩后臺,開發更加靈活。

3、局部性能提升。通過前端路由的配置,我們可以實現頁面的按需加載,無需一開始加載首頁便加載網站的所有的資源,服務器也不再需要解析前端頁面,在頁面交互及用戶體驗上有所提升。

13cdff2c297d026d279950e2da49410d.png

?

4、降低維護成本。通過目前主流的前端MVC框架,我們可以非常快速的定位及發現問題的所在,客戶端的問題不再需要后臺人員參與及調試,代碼重構及可維護性增強。

5、實現高內聚低耦合,減少后端(應用)服務器的并發/負載壓力。

6、即使后端服務暫時超時或者宕機了,前端頁面也會正常訪問,但無法提供數據。

7、可以使后臺能更好的追求高并發、高可用、高性能,使前端能更好的追求頁面表現、速度流暢、兼容性、用戶體驗等。

前端工程是如何調用接口?

Ajax在瀏覽器與Web服務器之間使用異步數據傳輸(HTTP 請求),通過get或者post方法與服務器交互。

前端和后端之所以需要對接,是因為前端頁面只負責提供視圖沒有內容,而后端只提供內容,兩者所謂的對接,就是把后端的內容放在前端頁面預留出來的位置上。(雖然說是前端后端 ,但這一對接實際發生在服務器端)。

3b0e7139d65801bc1355063d54568f64.png

所以服務器端進行的交互活動如下:

接收用戶請求——》找到負責處理的程序——》處理程序找到要傳輸給用戶的前端頁面——》該前端頁面留出位置——》后端到數據庫取數據——》后端把數據放在前端留出來的位置上

——》結合成真正用戶看到的HTML文件——》傳輸給用戶。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260185.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260185.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260185.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

POJ 2152 Fire

算是我的第一個樹形DP 的題: 題目意思:N個城市形成樹狀結構。現在建立一些消防站在某些城市;每個城市有兩個樹形cost(在這個城市建立消防站的花費),limit ; 我們要是每個城鎮都是安全的&#xf…

php 解析HTTP協議六種請求方法,get,head,put,delete,post有什么區別

GET: 請求指定的頁面信息,并返回實體主體。HEAD: 只請求頁面的首部。POST: 請求服務器接受所指定的文檔作為對所標識的URI的新的從屬實體。PUT: 從客戶端向服務器傳送的數據取代指定的文檔的內容。DELETE: …

python的socket連接不上_Python套接字只允許一個連接,但在新的連接上斷開,而不是拒絕...

我不確定我完全理解你的問題,但我認為下面的例子可以滿足你的要求。服務器可以斷開舊用戶的連接,為新用戶提供服務。在服務器端:#!/usr/bin/env pythonimport socketimport multiprocessingHOST 127.0.0.1PORT 50007# you can do your real…

dede搜索php在哪,dede搜索頁面怎么調用及相關搜索調用

dede搜索頁面怎么調用,那幾天有事情,所以導致博客幾天都一直沒有更新,之前我們講過dede內容頁面和dede列表模板的調用,今天我們一起來學習下搜索頁面的調用,很多做企業站朋友們都不知道dede的搜索頁怎么仿,…

電腦中病毒后被隱藏的文件的顯示

用批處理或DOS更改屬性。批處理就是建個記事本,輸入attrib -h -s -r %~dp0\*.* /s /d,然后另存為隨便.bat,把它放到那些隱藏文件夾外面(不是里面),然后雙擊打開,等它自己關閉窗口就好了轉載于:h…

HDU 3555 - Bomb

第一道數位dp&#xff0c;屬于基礎模板&#xff0c;又自卑小時沒學好數數了&#xff0c;只是不清楚為什么大家的dp定義都是相同的&#xff0c;很顯然么&#xff0c;難道我寫的是怪胎。。。 /* ID:esxgx1 LANG:C PROG:hdu3555 */ #include <cstdio> #include <cstring&…

瀏覽器angent分析工具

cz.mallat.uasparser.UserAgentInfo info null; info uasParser.parse(userAgent);轉載于:https://www.cnblogs.com/yaohaitao/p/6048011.html

python2協程_python中的協程(二)

協程1、協程&#xff1a;單線程實現并發在應用程序里控制多個任務的切換保存狀態優點&#xff1a;應用程序級別速度要遠遠高于操作系統的切換缺點&#xff1a;多個任務一旦有一個阻塞沒有切&#xff0c;整個線程都阻塞在原地&#xff0c;該線程內的其他的任務都不能執行了一旦引…

python相減函數subs,SUBS(subs是什么函數)

matlab中subs()是符號計算函數&#xff0c;詳細用法可以在Matlab的Command Windows輸入&#xff1a;help subs。subs()函數表示將符號表達式中的某些符號變量替換為指定的新的變.f1subs(f,t,t3); f2subs(f1,t,2*t); f3subs(f2,t,-t); subplot(2,2,1);ezplot(f,[-8,8]);。subs是…

hdu--1075--字典樹||map

做這題的時候 我完全沒想到 字典樹 就直接用map來做了 - 我是有 多不 敏感啊~~ 然后去 discuss 一看 很多都是說 字典樹的問題.... 字典樹 給我感覺 它的各個操作的意思都很清晰明了 直接手寫 不那么容易啊。。 晚些 時候 試下來寫------用map寫是真心方便 只要注意下那么\n的吸…

歸檔七

課后作業1 運行 TestInherits.java &#xff0c;觀察輸出&#xff0c;總結父類與子類之間構造方法的調用關系修改Parent構造方法的代碼&#xff0c;調用GrandParent的另一個構造函數。 class Grandparent { public Grandparent() { System.out.println("GrandParent Creat…

php的類裝載的步驟,設計PHP自動類裝載功能

在使用面向對象方法做PHP開發時&#xff0c;可能會經常使用到各個路徑中的類文件&#xff0c;這就需要大量的 include 或 require&#xff0c;而 PHP 提供了一個比較快捷的方式&#xff0c;就是利用函數 __autoload 可以編程實現動態的類裝載功能&#xff0c;這樣就不需要手動的…

python 重定向 ctf_3.CTF——python利用工具

web AWD 攻與防CTF線下賽主要考察代碼審計能力及運維能力&#xff0c;代碼審計發現漏洞&#xff0c;python寫利用漏洞&#xff0c;運維發現可疑攻擊目標&#xff0c;異常流量&#xff0c;異常權限&#xff0c;重要業務備份與還原。用運維的知識加固系統與業務。當被人攻擊以后&…

網站首頁幻燈片

Js頁面: View Code /** * 大眼睛廣告輪播 */ var indexEye {autoTime: 0,init: function () {var eyeObj $("#dyj_pics a:eq(0) img:eq(0)");eyeObj.attr("src", eyeObj.attr("data-imgSrc"));eyeObj.load(function () {indexEye.autoTime se…

【java】錯誤 找不到或無法加載主類

很詭異&#xff0c;class文件夾下的class文件沒有了&#xff0c;刪除文件夾 &#xff0c;重新編譯下。。。轉載于:https://www.cnblogs.com/merlini/p/3892719.html

Qt之QAbstractItemView視圖項拖拽(二)

一、需求說明 上一篇文章Qt之QAbstractItemView視圖項拖拽(一)講述了實現QAbstractItemView視圖項拖拽的一種方式&#xff0c;是基于QDrag實現的&#xff0c;這個類是qt自己封裝好了的&#xff0c;所以可定制性也就沒有了那么強&#xff0c;最明顯的是&#xff0c;這個類在執…

電腦控制蘋果手機_必備神器,電腦控制手機

序一款電腦端的神器&#xff0c;它可以任意的操縱你的手機。****QtScrcpy可以通過USB(或通過TCP/IP)連接Android設備&#xff0c;并進行顯示和控制。不需要root權限。單個應用程序最多支持16個安卓設備同時連接。同時支持GNU/Linux&#xff0c;Windows和MacOS三大主流桌面平臺。…

php未定義要怎樣做,php-Behat-未定義的功能步驟

我設置了一個簡單的測試場景來學習behat,但是我遇到了一些問題.我正在關注THIS教程.這是我的專題節目&#xff1a;Feature: showThis is a behat feature to test the article pages.##TODOScenario: I want to view a detailed article pageGiven I am logged inAnd Im on &qu…

CentOS 命令大全 (轉)

1、查看系統使用端口并釋放端口 [rootmy_nn_01 WEB-INF]# lsof -w -n -i tcp:80 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME java 24065 root 34u IPv6 269149 TCP *:http (LISTEN) [rootmy_nn_01 WEB-INF]# kill -9 24065 2、以KB/MB形式顯示文件列表…

微信接口改良

之前公司微信開發的時候 寫了個微信的接口改良版,當然好多想改進的都沒改。。大概是太懶了 &#xff08;囧 /*** Created by DFH on 13-12-16.*//*--htmlvar shareData {//分享展示圖片地址 **必須"imgUrl": "a.jpg",//分享至朋友圈鏈接 **必須&q…