从网站到Web应用程序

Web开发模型

        在传统的 Web开发场景中,当您单击链接或提交表单时,您的浏览器回向服务器发送一个请求,该请求会返回一个根据您非请求量身定制的全新网页。此模型的加载时间较长且交互性有限。

        另一种Web开发模型旨在避免为每个用户操作传输一个全新的网页。以下是该模型中的工作方式:

  • 通过JavaScript 事件处理程序拦截页面上的用户操作。
  • HTTP请求被发送到服务器而不中断页面上的导航。
  • 只有页面的所需部分会使用请求是结果进行更新。

        尽管更具挑战性,但这种Web开发模型可以导致有限的资源负载、改进的交互性和几乎与原生程序相当的用户体验。

        支持创建Web应用程序的技术集代号为AJAX(一步JavaScript和XML)。AJAX调用是一个异步HTTP请求,用于从/向服务器检索或发送数据。

同步与异步请求

        在同步交换中,提问者一直等到他获得所需的信息。电话呼叫是同步交换的一个示例。

         相反,异步交换中的请求者可以在等待其请求完成的同时做其他事情。电子邮件是异步交换的一个示例。

        传统的Web开发模型使用同步请求:Web客户端在等待服务器完成其请求时被阻塞。AJAX模型使用异步请求:在后台需要时获取数据。

跨域请求

        出于安全原因,许多网站对AJAX请求都有保守的政策。这个同源策略规定请求仅限于它们的源域:"http://mysite"不能将请求发送到"http://anothersite"。这样可以防止通过AJAX调用访问某些服务器。

        通过在服务器配置中设置跨域资源共享(CORS)来启用跨域请求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值