目录
现在网站动不动就讲前后端分离,到处都听到,一般是明白了,但是要你说什么叫前端、后端、前后端分离用什么交互,往往新手又说不出来,所以本文做一个简单的介绍
一、前端介绍
1.1 什么是前端
360百科对前端的解释为
前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。随着互联网技术的发展,HTML5,CSS3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完美的动效设计,给用户带来极高的用户体验。
就是一句话:前端即是你打开网站能看到的东西!
1.2 前端有哪些技术
前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,现在最新的高级版本HTML5、CSS3,以及SVG等。
HTML:主要负责数据显示
CSS:主要是负责外观,主要有bootstrap
JavaScript:主要实现有些效果。一般是直接用js框架,使用比较多的是jquery
还有一些HTML/CSS/JS结合起来一起使用的是如Layui,也可以结合一起视觉前端作图,如百度的echarts
还有一些专业级的前端构架:AngularJS 、vue、react等,其中后两者中国内很流行。
ps:手机开发也是属于前端开发,如安卓、苹果iso
二、后端介绍
2.1 什么是后端
后端指的是运行在后台并且控制着前端的内容,它主要负责程序设计架构思想,管理数据库等。后端更多的是应用到数据库并且进行交互以处理相应的业务逻辑。它需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等方面。它涉及到的动态语言如PHP、ASP、JSP等。
就一句话:负责程序的逻辑部分的实现,返回前端请求的数据。
前端主要是负责视觉,后端就主要负责功能性的东西,实现功能的逻辑,为了实现逻辑可能需要连接数据库、缓存、外部文件等。
2.2 后端有哪些技术
后端网站一般分3大类:php、asp.net、java web
PHP:主要是php写的网站
asp.net:不要是以C#语言编写的
java web:主要是java写的,java中最流行的框架有spring
三、前后端的交互:API
我们前面说了什么是前端后端,那前端和后端是怎么进行数据交互的呢?那就是使用web的API(Application Programming Interface,应用程序接口),什么是API呢?
API粗暴理解就是后端给前端提交数据的特殊URL。
1.这个URL一般是指定格式的,不同公司有不同的格式,如阿里云api、dnspod api、微信小程序api
2. 这个URL往往需要在头部发送验证功能,一般是使用token验证。
3.api返回的一般是通用格式可在网络中传输数据(json或xml)
一般选择json,xml比较旧现在已经很少人在使用了。一般不会直接返回HTML因为HTML已经是可以直接呈现了,前端需要的是数据,按照自己的规范还要对数据进行美化再呈现。
前后端交互是通过网络的,所以要求能在网络中传输;通用才能被绝大部分程序解析,这样就与编程语言无关,就可以转化为自己所使用语言的数据类型进行存储。
例子:
我们以dnspod API的例子看一下,下面是查看API版本号
curl -X POST https://dnsapi.cn/Info.Version -d 'login_token=LOGIN_TOKEN&format=json'
#上面中也可以使用HTML的form表单来写,指定post,
#name分别为login_token和format
#值分别为LOGIN_TOKEN、json即可
结果是返回json数据如下图所示:
j
json格式很简单的,有兴趣可以看一下《json教程》,花20分钟就搞定了。