全局刷新
全局刷新:整个页面的刷新,优点就是数据都是在服务器端加载的
页面是由服务器端渲染的,前后端不分离
当客户端发送请求时,服务器端处理的事情:
首先获取到 HTML 资源的内容
从服务器中获取需要展示的数据
把数据和获取的源代码进行拼接处理(处理好的子字符串中有结构和数据)
把处理好的 XML 格式数据返回给客户端
客户端拿到源码后,只需要展示渲染即可(因为需要展示的数据都已经在服务器端拼接好了)
服务器端渲染的好处:
有利于 SEO 优化(服务器端渲染好的内容到客户端呈现,在页面源代码中可以看到绑定的内容,有利于引擎的收录),但是客户端做字符串拼接,呈现出来的内容在页面源代码中是没有的,不利于 SEO
只要服务器端并发(抗压能力)给力,页面加载速度会比客户端渲染更快
很多大网站(例如:京东淘宝)首屏数据都是基于服务器端渲染的,客户端获取 XML 数据后直接呈现,增加页面第一次打开速度,提高首屏加载速度。而剩下屏中的内容都是基于 Ajax 获取数据,在客户端进行数据拼接渲染的
比如:登录界面,输入完用户名,需要验证是否存在 不使用 Ajax,首先向服务器发送请求(通过浏览器地址栏问号传参发送给服务器),服务其获取请求后,验证是否存在,不管存在与否,都要给用户一个提示,原始展示页面内容需要改动,服务器端把带提示的内容重新进行拼接,然后返回给客户端,客户端重新渲染最新内容,只能页面整体刷新。
全局刷新的时候,浏览器的刷新按钮旋转,成功后变回原样
局部刷新
Ajax 的诞生就是为了实现局部刷新。
局部刷新:整个页面中只有一部分页面需要更新,这时我们就不需要整个页面刷新,只刷新局部页面即可。
首屏
基于 Ajax 向服务器端发送请求,获取首屏数据
服务器端接收到请求后,把首屏需要展示的数据和内容都拼接成 XML 格式,并返回给客户端
客户端直接渲染呈现即可
其他屏
基于 Ajax 向服务器端发起请求,获取更新的数据
服务器端只把需要的 JSON 格式数据返回给客户端
客户端自己通过 JSON 数据做字符串拼接实现数据绑定
基于 JS 把获取的最新数据替换原有数据