持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天
前端渲染、后端渲染及前端路由、后端路由
在早期没有js语言时,网页开发一般使用html+css+php/jsp来完成,这种开发形式的特点是,当我们输入url,向服务器发送请求时,服务器端会由php或java代码来连接数据库,获取需要动态展示的内容,在服务器端渲染好后再返回给浏览器,呈现给用户,这种在服务器端完成渲染,就叫做后端渲染,也叫做服务器端渲染
在后端渲染中,服务器会根据用户输入的url来进行指定页面的渲染,url 与 页面存在一一对应的关系,这种由后端来保存及处理url和页面的映射关系的操作(一般通过正则来匹配),叫做后端路由,由后端渲染好的页面不需要再单独加载css与js,可以直接交给浏览器来展示,更有利于SEO优化,但这样不利于前后端分离,编写和维护都很麻烦
后来随着Ajax的出现,开始了前后端分离的开发模式,后端只负责提供API来返回数据,前端通过Ajax来获取数据,这样做可以使前后端进行分离,后端专注于处理数据,前端专注于交互和可视化上,并且后端可以一套API适用PC和移动端
前端渲染: 浏览器显示的网页中,大多内容是由前端js代码在浏览器中执行,向服务器申请数据,通过返回的数据渲染出来最终的网页,这就是前端渲染
而前端路由则是将原来后端实现的路由功能交由前端实现,第一次访问网页时获取的js文件拥有所有页面组件,通过用户输入的url对其内组件进行分配呈现,这种叫做 SPA —— 单页面富应用 ,单页应用不仅仅是在页面交互是无刷新的,甚至连页面跳转都是无刷新的,缺点是第一次访问时加载速度慢。