什么是ajax,简述下ajax的交互流程以及优缺点
ajax是异步处理机制,交互是前端通过ajax异步提交数据到后端,后端处理后返回结果,ajax再返回给页面。
ajax的优点有:提高了性能和速度、交互性能好、异步调用、节省带宽等;ajax的缺点有:增加了设计和开发时间、比构建经典Web应用程序更复杂、禁用JavaScript的浏览器无法使用该应用程序等
ajax是由前端写还是后端写
狭义的看ajax的话,程序由前端写。ajax技术本身属于前端技术,是一种异步方式发起服务请求访问,获得后台数据后,以无刷新的方式显示新数据的技术,具有数据传输量小,用户体验好的优势,在网页编程领域中有着广泛的应用。当然,ajax能够成功获取数据,肯定需要后端编写接口程序,并按照指定格式返回,目前大多数数据格式都是json。
AIR是什么缩写
Adobe Integrated Runtime (简称AIR)它允许你利用现有的web开发技能(包括Flash, Flex, HTML, JavaScript, Ajax)优势,建立和配置跨平台(或跨操作系统)的桌面RIA(Rich Internet Applications)应用。
AIR(全名Adobe Integrated Runtime),前身是Apollo,美商Adobe公司在开发此项目时所命名的一个代号名称,它是专为网络桌面系统应用的一个执行环境(RunTime),竞争产品如同微软的WPF,AIR能真正跨平台在上执行很适合应用在网络多媒体内容上,如把PDF、Flash/Flex、HTML、Ajax全部结合在一个程序上,加上善用操作系统上的环境资源,就能快速开发出RIA应用,并且原有的网页开发者不需要重新学习新的
websocket优缺点
优点:
1、传统的http请求,其并发能力都是依赖同时发起多个TCP连接访问服务器实现的(因此并发数受限于浏览器允许的并发连接数),而websocket则允许我们在一条ws连接上同时并发多个请求,即在A请求发出后A响应还未到达,就可以继续发出B请求。由于TCP的慢启动特性(新连接速度上来是需要时间的),以及连接本身的握手损耗,都使得websocket协议的这一特性有很大的效率提升。
2、http协议的头部太大,且每个请求携带的几百上千字节的头部大部分是重复的,很多时候可能响应都远没有请求中的header空间大。如此多无效的内容传递是因为无法利用上一条请求内容,websocket则因为复用长连接而没有这一问题。
3、当需要实现客户端刷新消息时,传统方案往往通过定时ajax请求实现,实际上对多数用户多数时间下这些请求都是无意义了,除了浪费资源。
其次则是websocket支持服务器推送消息,这带来了及时消息通知的更好体验,也是ajax请求无法达到的。
缺点:
它对开发者要求高了许多。对前端开发者,往往要具备数据驱动使用javascript的能力,且需要维持住ws连接(否则消息无法推送);对后端开发者而言,难度增大了很多,一是长连接需要后端处理业务的代码更稳定(不要随便把进程和框架都crash掉),二是推送消息相对复杂一些,三是成熟的http生态下有大量的组件可以复用,websocket则太新了一点。
还没有评论,来说两句吧...