博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ajax与传统Web开发的区别
阅读量:4973 次
发布时间:2019-06-12

本文共 1710 字,大约阅读时间需要 5 分钟。

基本概念

1.1,Ajax

AJAX:即“Asynchronous Javascript And XML”(异步的JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,尤其是在一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax的应用实例有:新浪微博、Google 地图、开心网等等。

1.2,传统Web开发

World Wide Web(简称Web):是随着Internet的普及使用而发展起来的一门技术,其开发模式是一种请求→刷新→响应的模式,每个请求由单独的一个页面来显示,发送一个请求就会重新获取这个页面。

1.3,同步

同步通信方式,是把许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。同步方式下,发送方除了发送数据,还要传输同步时钟信号,信息传输的双方用同一个时钟信号确定传输过程中每1位的位置。(传统的Web开发)

1.4,异步

异步通信方式:是将比特分成小组来进行传送。一般每个小组是一个8位字符,在每个小组的头部和尾部都有一个开始位和一个停止位,它在传送过程中接收方和发送方的时钟不要求一致,也就是说,发送方可以在任何时刻发送这些小组,而接收方并不知道它什么时候到达。(Ajax)

附:同步通信和异步通信示意图

1.5,理解

看到Ajax和传统的Web开发时,就突然想起了前段时间刚刚总结的软工过程模型。传统的Web开发就好比是瀑布模型,它的下一步实现,完全建立在上一步的基础之上,如果上一步没有完成,下一步就没办法开展,当用户向服务器发送请求时,服务器端必须完全处理好客户端的请求,然后客户端完全接收到服务器端的响应后,才能继续进行操作。如果是刷新,那么久必须刷新整个页面,当整个页面都加载出来时,才可以进行显示。而Ajax技术,就可以看做是增量、螺旋、喷泉等了。它的下一步实现,并不完全依赖于上一步的实现。就像是增量一样,它可以将一个大型的请求,分化为很多个不等的增量增量模型,在这里,我理解其为局部实现。就好似Ajax中的局部刷新,我可以将我的真个Web页划分为不等的增量,每个增量都是独立的,我可以独立的对其中某一个增量进行一次完整的请求-刷新-显示。(个人理解)

 

联系和区别

联系:Ajax也是一种网站开发技术!

主要区别

探究传统Web开发和Ajax技术的区别,首先看其各自的程序模型:

效率:1,从同步和异步的通信方式中可以看出,异步中数据所占的比例少于同步中数据所占的比例,所以其数据传输效率小于同步通信(传统的Web开发)。2,Ajax开发相对于传统的Web开发,增添了一个Ajax引擎,这一个模块主要用于对服务器端传送过来的数据进行解析,在这一过程中,相对于传统的Web开发,其数据量大大减少(原因:结合第一点),所以,其效率相对于传统Web开发要高。

交互方式:Ajax采用异步通信,主要以数据交互为主;传统的web开发采用同步同喜,主要以页面交互为主。

 

Ajax本身的不足

1,破坏了浏览器的后退机制。

原因:Ajax实现了动态更新数据,浏览器并没有对整页进行更新加载,而仅仅是局部,作为用户无法通过Back按钮回复到上一级状态。

解决方案:设置一个隐藏的容器,将网站记录保存起来,当用户需要返回到上一级时,在这个隐藏的容易里面进行搜索。(个人猜想:不运用这个隐藏的容器,运用设计模式中的备忘录模式,但如果说采取设计模式,那么最多可保存一个状态页,简单说来,后退按钮只可以执行一次。)

2,兼容性不高,对浏览器的支持比较弱

这一点目前还没有具体的体会,只是在写demo的时候,运用到Ajax的时候,要特别的对搜索引擎进行分类处理。

备注:Ajax的优点,有时也刚巧就带来的它的不足,目前能够理解的就这两点,但实际上Ajax还破坏了安全机制、异常机制,违背了资源定位等。这些都需要进一步的学习和实践去验证。

转载于:https://www.cnblogs.com/yunfeioliver/p/8251102.html

你可能感兴趣的文章
JavaWeb之JSON
查看>>
HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .
查看>>
windows平台上编译mongdb-cxx-driver
查看>>
optionMenu-普通菜单使用
查看>>
2016-2017-2点集拓扑作业[本科生上课时]讲解视频
查看>>
【MemSQL Start[c]UP 3.0 - Round 1 C】 Pie Rules
查看>>
Ognl中“%”、“#”、“$”详解
查看>>
我对应用软件——美团的看法
查看>>
执行了的程序,才是你的程序.
查看>>
struts2.x + Tiles2.x读取多个xml 配置文件
查看>>
表单校验之datatype
查看>>
python第六篇文件处理类型
查看>>
ubuntu16系统磁盘空间/dev/vda1占用满的问题
查看>>
grid网格布局
查看>>
JSP常用标签
查看>>
九涯的第一次
查看>>
处理器管理与进程调度
查看>>
向量非零元素个数_向量范数详解+代码实现
查看>>
java if 用法详解_Java编程中的条件判断之if语句的用法详解
查看>>
matlab sin函数 fft,matlab的fft函数的使用教程
查看>>