传统处理方式:
这是我们最常用的 web 项目请求 - 处理流程。
主要由服务端响应用户请求,处理业务数据,生成 html 页面,并最终将组织好的html 页面发送到客户端。
客户端主要负责显示 html 页面。
ajax 请求方式:
这种方式,服务器上的内容可以分成2部分:
1.静态资源。比如 html 页面 ,css ,js ,images 等 处理这些资源及响应用户请求只需要 web 服务器就可以了,比如 apache 就已经足够。
2.动态业务逻辑,动态业务数据。 比如 会员信息,订单信息,创建评论操作等 ... 这些内容需要应用服务器的支持,部署在应用服务器上的项目主要是 services ,提供标准的业务方法接口就可以了,不需要services 处理静态资源。
当然,这种方式明显加重客户端的负担,不光需要呈现html页面,还要处理大量的 js 脚本,同时也带来客户端js并发请求的问题。页面响应速度,用户体验将最终由客户端的性能绝决定。
但是我觉得其优点也很明显。
1. 页面与业务数据分离。(增加了页面 js 处理,但是目前有很多优秀的 js 框架 jQuery 等,已经很好用了)页面呈现技术将脱离限制,不必再考虑 jsp ,php ,jsf ,jstl 等等 页面显示技术。简简单单的直接使用设计部给的html 就可以了。
2.静态资源与业务接口分离。 services 可以专心吧业务接口做好,不用关心页面呈现问题,给其他三方平台访问接口打好基础。并且 services 出现异常停机了 也不影响网站页面呈现。
3.ajax 异步请求。这种方式完全可以制作“富客户端” 网站,给用户的感觉就跟使用桌面程序一样。
以上不成熟的观点,欢迎大家讨论。