当前位置:380元网站建设 虎网站 > 建站百科 > 正文

缓存Ajax调用

发布日期:2020-03-16
使用正确的HTTP响应头,确保缓存Ajax调调用。除了绝对需要实时更新数据的Ajax调调用,其他都适用。应用方式:正确修改HTTP头Last-Modified、ache-contro1和Expires。

减少用户感知的响应时间,提高用户满意度,提高平台或解决方案的可扩展性。尽可能地利用Ajax和缓存Ajax调用,可以提高用户满意度,提高可扩展性。

缓存Ajax调用

对于新人或者不熟悉常见的网络术语的人来说,可以把Ajax看作隐藏在下拉式菜单后的“方法”,当你输入字符串时,可以以给你提示,或者把它看作隐藏在地图服务中的“方法”,让你能够无需再次调用远程服务器,就能够放大或缩小地图。如果使用得当,利用Ajax不仅可以得到极好的与用户互动的界面,而且由于无需额外的服务器端工作就能让用户处理数据和对象并与之交互,还能提高可扩展性。但是,如果使用不当,那么Ajax会极大地增加服务器需处理的请求数,从而制造出一些特有的扩展性约束。但要注意,虽然这些请求从浏览器端来看是异步的,却可能在短时间内造成服务器群内的请求泛滥并造成服务器瘫痪。虽然常常被称为一种技术,但最好的描述还是浏览器用于创建更丰富的更具有交互性的Web应用的一组技巧、语言、方法和技术的集合。虽然这个缩写中的词语描述了Ajax的实现方式,但真正的用户交互可能不是异步的,不必只用XML作为数据交换的格式。例如,可以用JSON代替XML。但 Javascript是无可替代的。
 
Jesse James Garrett因在2005年发表的文章“Ajax:创建Web应用的新方法”?中创造了术语Ajax而广泛被人提及。宽泛地说,Ajax具有用CSS和 DHTML实现的标准表达方式、用文档对象模型(DOM)实现的交互和动态显示能力、用XSLT或JSON实现的XML这样的数据交换和操作机制,以及数据检索机制。从终端用户的角度看,数据检索通常是异步的(但并不绝对必须是异步的)。 Javascript是用于实现客户端浏览器内交互的语言。当使用异步数据传输时,要采用Xmlhttprequest对象。我们最初的因特网经验是所有东西都是请求和应答这样的交互,Ajax的目的就是终止这些复杂的交互。有了这些背景知识,让我们看看与Ajax相关的扩展性方面需要注意的问题,最后看看缓存如何帮助我们解决这些问题。

显然,我们一直想创建能够提高用户交互和满意度的界面,这样就能够增加收益、利润和股东的财富。Ajax就是这样一种方法,利用它可以给最终用户提供更丰富更实时的体验。由于它能减少浏览器内不必要的交互,所以用户交互可以发生得更快。用户可以进行放大或缩小操作,而无需等待服务器的响应,可以用以前的条目预填充下拉式菜单,当用户在搜索栏中输人查询字符串时,他们可以看得一些潜在搜索字符串,从中他们也许会找到更具有指导性的搜索条件。利用Ajax的异步性,无需让用户点击“下一页”,就可以根据某些用户操作反复接收邮件,帮助我们把邮件结果载入客户浏览器。

但是有些操作会不利于对平台进行有效扩展。以用户在Web站点输搜察项搜索持定的产品为例。我们可能想在用人搜索项时,弹出一个下拉式菜单,列出一些建议的搜索项,这样我们需要查询产品目录来填充菜单。Ajax响应后继的击键把请求发送给服务器器,基于迄今为止输人的字符串返回一个结果填充下拉式菜单,而用户在输人时无需浏览器刷新页面。否则,可能会由于用户还没有输人完整的字符串,而返回不完整字符串的完整搜索结果。这两种实现在许多搜索引和电子商务站点都很常见。但是,让每个后继的击键都对服务器产生一个搜索查询,对后台系统来说,不仅成本高,而且是一种浪费。例如,用户输入“ beanie baby”会引发111次连续的搜索,而真正需要的只有一次。这样的用户体验可能令人印象深刻,但是如果用户输人足够快,那么在结束输人前可能有8到10个搜索都不会真正返回结果。

还有一种方法,能够在不增加10倍流量的情况下达到相同的目标,你也许能根据本章的主题猜到这种方法,那就是利用缓存。只需要很少的工作,就可以把上一次Ajax交互的结果缓存在客户浏览器中、也可能是缓存在CDN(请参阅原则20)、页面缓存(请参阅原则23)、应用缓存(请参阅原则24)中。首先,让我们看看如何利用浏览器的缓存。三个能确保我们在浏览器中缓存内容的关键元素是HTTP响应中的cache- contro1头、Expires头和Last-Modified头。我们在原则21中详细讨论过其中的两个。对于 Cache-Contro1,要避免使用no- store,在可能的地方把它设置为 public,这样我们的终端(客户)和服务器之间的任何代理和缓存(如CDN)都可以保存结果集,向其他请求提供数据。当然,我们不想把私有数据设置为 public,但在可能的情况下,我们当然想利用pub1ic提供的高度缓存。

记住,我们的目标是减往而少服务器的负载。因此,应该把响应的 Expires头的时间设置得足够长,才能使浏览器在本地缓存第一个查询的结果,以便之后的请求能够从缓存中读取它。对于静态对象和半静态对象,如用户头像或公司标志

可以把 Expires设置为几天或时间更长一些。有些对象肯定对时间敏感,如读取朋友博客上的状态更新。对于这种情况,可以把 Expires头设置为几秒或几分钟,这样既考虑到了实时性,又减少了全局负载。
 
使用Last- Modified头可以处理有条件的GE请求。在这种情况下,为了与HTTP1.1协议保持一致,如果缓存中的数据项是正确的或仍然有效,服务器应该用状态304响应。如Xmlhttpreuqest这个名字的Http部分所示,所有这些的关键在于,Ajax请求的表现与其他任何HTTP请求和响应的表现一样。知道了这些,有助于确保支持这些请求的系统的缓存能力、可用性和可扩展性。

当我们的内容在浏览器端可以更改时,前面的方法很有效,但对于逐渐扩展的搜索字符串,问题就变得有点困难了,在用户与搜索页面交互,并输入检索字符串时,就会出现这种情况。对于这种特殊情况,没有简单的解决方案。但在 cache- ontic1头中使用pub1iC参数可以确保把所有相近的搜索字符串都缓存到中间缓存和代理中。因此,被搜索字符串的常见开头和常见的中间部分很可能在读取它们之前就已经被缓存在某处了。这种特殊问题可以推广到利用Ajax的页面中的其他特定对象上。例如,请求拍卖中的物品的系统、请求社交网站站中的消息的系统或者邮件系统,在发出请求时,不应该使用相对位移量,而应该使用特定的消息ID。像"page=3&item=2”这样的相对名字,标识的是系统的第三页中的第二条消息,随着系统的改变,可能会造成缓存一致性问题。较好的方法是使用id=124556”,这个ID表示一个原子项目,不会改变可以为这个用户进行缓存,如果它的属性是公共的,那么将来还可以被

较容易解决的情况是我们知道自己有哪些网站制作静态或半静态的项目集合,例如有限的或者上下文相关的产品目录。从客户端来看,我们可以异步获取这些结果,把它们缓存起来,可以供同一个客户将来使用,更重要的是确保CDN和中间缓存或代理程序缓存了它,以便其他用户执行相近的搜索时使用。

从新桥到越南芽庄的旅游攻略

    越南芽庄是一个美丽的海滨城市,拥有美丽的沙滩、清澈的海水和丰富的文化遗产。它是一个充满活力和活力的城市,吸引了来自世界各地的游客。如果您计划从新桥到越南芽庄旅游,本文将为您提供有价值的信息和旅游攻略。 步准备工作 在您的旅行前,您需要做好一些准备工作。首先,您需要办理越南签证。越南签证可以在越南的领事馆或大使馆申请。您还需要购买机票,并预订酒店。在预订酒店时,选择靠近市中心的酒店,这样您可以更方...

       网站外表怎样根据自身行业特点来设计? 一个优秀网站不光在于整个网页的展示,还在于整个外表和色彩的搭配上。要是在这些方面都能够做的很好,在具体设计的时候还是能够设计出比较好看的外表,终究网站的作用就是吸引用户的此时可以更好的展现自身的形象或者是整体的产品类型,对于专业的设计网站企业来说,只有符合自身特点的网站才能吸引客户,网站外表怎样根据自身行业特点来设计呢? 网站外表怎样根据自身行业特点来设计?   制定严格的策划方案,就似乎在做一件...

       东莞长安镇熙玛机械设备跟虎网科技签定做网站项目 熙玛选用虎网站定制型网站案例,此类网站主要是按客户要求和提供的风格案例或效果图纸来做,这种属于仿制和定制型网站,是根据功能开发的难易度来评估报价的,价格相对较高,适合于大中型企业和有个性风格、个性功能需求的客户选用。熙玛位于东莞市长安镇霄边社区振安东路171号02铺。熙玛是经东莞市长安镇工商局审核的正规企业,统一社会信用代码:91440300757629361X。   东莞市熙玛精密机械工具有限公...

       网站建设应该走向合理人性化 文章摘要:西安建网站,I─由于技术水平不高;II─安全性在网站建设的影响力将与日俱增在网站;III─这些都是大家在进行网站建设过程中必须要重;IV─在未来新型的企业网站建设过程中;V─其实现在仍然有很多冲床企业钟爱展示型;VI─带来了前所未有的动感;VII─但是你能下载别人也能;VIII─网站功能与交互性都将被加强可以说传统的企; 建站步骤 建站教程下载 如今是自己混荡站长行业的第五个年头,对于网...

       企业网站建设应该不断提高网站的实用性 对 企业网站建设 合理的使用,可以给自己的企业实现更好的竞争优势,实现于每一个客户的有效沟通和交流,保证自己网站的功能所在,这样才能够建立一个更加长远的合作关系,达到更好的宣传和推广,但是对于一些企业来说,在进行网站开发的过程当中,并不能够实现网站相应的功能,在客户使用的时候,会出现各种各样的问题,耽误每一个客户的时间和精力,这对于每一个企业而言,都是不应该要出现的,要想可以发这种情况的发生,就必...

       地方网站是如何发展的 1、市场分析,精确定位 全国性的综合门户网站不能建,不举例子了,人家资产都是那个数…地方性的综合网站不能建,版块太多,维护和管理繁锁。如果少放点版块,还叫什么门户啊?全国性的信息网站不能建。58同城、赶集、客集齐之流的网站已经在抢我们的城市了! 网络市场,创业空间,只给我们剩下做地方网站这块地了,做房产、做交友、做配货…不要觉得市场小,只要我们把这块奶酪吃到嘴里,那我们就成功了。当我们在自己的城市...

最新模板
少儿英语培训机构网站建设 培训公司网站建设
成人自考网站建设 成人培训网站制作设计版面
智能家居摆设设计网站建设 智能家居装修企业网站建设
铜螺母,铜螺丝,螺栓,螺钉工厂网站建设
废气处理设备,如活性炭吸附箱、RTO蓄热式氧化处理设备、光氧等离子复合设备 低温等离子设备 光氧催化设备等网企业网站建设
图文阅读