- 浏览: 2977770 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (2529)
- finance (1459)
- technology (218)
- life (343)
- play (150)
- technology-component (0)
- idea (6)
- house (74)
- health (75)
- work (32)
- joke (23)
- blog (1)
- amazing (13)
- important (22)
- study (13)
- Alternative (0)
- funny (8)
- stock_technology (12)
- business (16)
- car (21)
- decorate (4)
- basketball (2)
- English (16)
- banker (1)
- TheBest (1)
- sample (2)
- love (13)
- management (4)
最新评论
-
zhongmin2012:
BSM确实需要实践,标准ITIL服务流程支持,要做好,需要花费 ...
BSM实施之前做什么 -
shw340518:
提示楼主,有时间逻辑bug:是你妈二十那年写的 那会儿连你爹都 ...
80后辣妈给未来儿子的信~我的儿,你也给我记住了~~~ -
guoapeng:
有相关的文档吗?
it项目管理表格(包含146个DOC文档模板) -
solomon:
看到的都是 这种 CTRL+C 和 CTRL+V 的文章, ...
Designing a website with InfoGlue components -
wendal:
恩, 不错. 有参考价值
Designing a website with InfoGlue components
如何为混合 Web 应用程序改进浏览器 |
级别: 中级 Brent Ashley (brent@ashleyit.com), 总裁, Ashley IT Services, Inc. 2007 年 5 月 09 日 当前的 Web 浏览器设计不能轻松而安全地从多个源获取内容并将其显示到页面上。了解开发人员如何充分利用可用的工具来完成该任务,以及使用这些工具给所得应用程序带来的安全和可伸缩性方面的压力。另外,学习提出的几种用于补救此情形的浏览器改进,以及如何参与相关讨论,使 Web 开发超越这一障碍,使互操作性达到的一个新水平。<!----><!----><!---->
mashup 是一个 Web 应用程序,它集成了来自多个源的内容并将其交付到一个页面中进行显示。服务器向每个内容源发出请求,解析收到的信息,并将结果综合到一个页面中发给浏览器,如 图 1 所示。 图 1. 混合来自多个源的内容 Asynchronous JavaScript + XML(Ajax)应用程序 使 Web 页面能从服务器获取内容并使用 JavaScript™ 代码异步地在适当位置进行自我更新,如 图 2 所示。这样,用户就可以与富用户界面 (UI) 进行交互而无需重新加载整个页面。服务器向浏览器发送初始页面,后者回调服务器以获取更新后的内容。异步的 JavaScript 代码调用频繁使用 XML 来编码数据;但是,其他的数据格式则更通用,如 JavaScript Object Notation (JSON)、HTML 和分隔文本。 图 2. 使用 Ajax 的交互式数据显示 Ajax mashup 是一种混合的 Web 应用程序。它使用 Ajax 技术来显示富 UI,此类富 UI 使用从多个源异步检索到的内容在适当位置进行自我更新。服务器向浏览器发送初始页面,后者发出调用以检索更新后的内容。这些调用可从浏览器直接发往第三方源或者发回初始服务器,初始服务器用作第三方内容的代理。
当设计包含当前浏览器环境的元素时,没有人注意到 Ajax mashup。浏览器、超文本传输协议(HTTP)或 HTML 或专门设计用于容纳浏览器的(以一种安全而健壮的方式)异步检索多个源中内容的功能的 XHTML 都没有内置任何组件。World Wide Web Consortium (W3C) HTTP 规范中的一些可能用于 mashup 的一些特性(如 Document Object Model (DOM) Level 3 Load 和 Save Specification)并未由大多数浏览器完全实现,或是根本没有实现。 Dynamic HTML (DHTML) 开始时不与动态检索到的内容结合使用。动态 Web 页面的显示和数据元素都与操作它们的脚本一起交付。这些脚本将显示、隐藏、移动、创建和销毁文档对象以便实现动态效果,但是一旦需要从服务器获取更多数据,原页面就被新页面取代。数据流与页面重新加载同步。 因此,希望构建混合 Web 应用程序(现在称为 mashup)的开发人员必须利用可用的技术设法对其进行扩展以满足他们的需求。有两种方法可使浏览器在无需重新加载页面的情况下检索内容:嵌入外部传输机制和使用浏览器本地对象执行传输任务。 早期的解决方案是 Microsoft 的 Remote Scripting,它使用一个 Java™ applet 与服务器端组件交换 XML 格式的消息。此方法很快就因为供应商的争论以及 Java Virtual Machine (JVM) 和安全模型的差异而变得不实用。 Microsoft 稍后构建了 很多开发人员使用 Macromedia Flash 的 XML 通信特性来构建可嵌入的组件与服务器进行通信。 由于外部传输机制相关的问题和依赖性,互联网开发团体协作发现并开发了几个浏览器本地的远程调用方法。
请参阅 参考资料 中关于这些工具和技术的详细信息的链接。
大多数可用于异步检索内容的技术都继承了 JavaScript 安全模型的安全性,它使脚本只与源于该脚本所属页面所在的同一服务器的元素进行交互。这就是所有浏览器都实现了的同源策略(Same Origin Policy)。 要让 Web 页面从第三方检索内容,必须避开同源策略。常用的不受同源策略限制的例外是 使用
当前广泛用于启用 Ajax mashup 的工作区都会产生一些代价。当扩展浏览器的设计限制时,就会影响应用程序总体操作的其他方面。这种做法通常会导致应用程序的安全性或可伸缩性降低。 当受到浏览器的同源策略限制时,承载应用程序的服务器必须承担获取第三方内容并将其发送到客户机的任务。服务器除提供常规的服务器功能外,还担当第三方服务的客户机的角色。 使用服务器作为每个客户机事务的代理意味着大量用户可能导致过度的服务器负载。使用此技术的应用程序需要设计成服务器端可伸缩,使用多个同等的服务器处理请求负载。 使用
很明显,浏览器当前提供的用于 mashup 的工具不能构建同时具有可伸缩性和安全性的应用程序。开发人员必须找到从当前和长远角度来看都有效的解决方案。 一种最近开发的内容检索技术通过其 由于脚本必须了解彼此的地址并且它们自身之间必须协作以取得对协议的一致遵守,因此要确保信任。由于任何服务器交互都在每个组件本地并且与脚本间通信分离,因此不会暴露 cookie。 虽然仍不完美(例如,它依赖于设计行为以外的异常,并且查询更改不如用事件激活来响应更改),但是这个解决方案比任何其他方案都更接近于提供浏览器本地的、安全的、页面中的跨域通信。 请注意:James Burke 是 AOL Developer Network 的一名开发人员,他开创了片段标识符技术并将其构建到最新版本的 Dojo Toolkit JavaScript 库中。 浏览器制造商和开发团体当前正在讨论几种可能的修改浏览器环境元素的方法,使其以 Ajax mashup 为构建目标。Web Hypertext Application Technology Working Group (WHATWG) 在其用于 Cross Document Messaging 机制的 Web Applications 1.0 Working Draft 的 7.3 节中提出了一个建议。Opera 浏览器已经实现了此特性。它指定了不同域中的 DOM 对象之间协作通信的方法,该方法允许消息的接收方根据消息的起源来选择所要响应的消息。 Ian Hickson 以前任职于 Opera,现在任职于 Google。他提出了对现有的 Douglas Crockford 是任职于 Yahoo! 的一名 JavaScript 传道者和架构师,他是全球最有造诣的 JavaScript 语言专家之一。您可在他的个人 Web 站点上及通过 Yahoo! Developer Network 找到很多他的解释高级 JavaScript 技术的展示和文章。Crockford 提出的另一项计划是 JSON,它是一种 Ajax 应用程序中广泛使用的数据交换格式,其主要原因是易于被 JavaScript 解析并且不像 XML 那样冗余。Crockford 编写了两个提议来将 mashup 敏感的元素构建到浏览器中。 几个绝妙提议可帮助您应对此困境:
请参阅 参考资料 中关于这些提议的详细信息的链接。
作为开发人员,我们都与这些讨论的结果息息相关。通过参加讨论,您可帮助设计最灵活、安全的浏览器改进,使所有人都能构建健壮而安全的富 Web 应用程序。我鼓励您去寻找倡导浏览器改进的浏览器供应商和组织,并参与以下活动:
您可在本文的 参考资料 部分找到可作为起点的链接。 学习
获得产品和技术
讨论
|
发表评论
-
New Enterprise Security Solutions
2011-09-13 15:46 0<!-- [if !mso]> <styl ... -
ES Announces Enterprise Security Solutions
2011-09-13 15:40 0<!-- [if !mso]> <styl ... -
linux下如何将文件打包、压缩并分割成制定大小?
2010-09-15 18:52 3322将大文件或目录打包、 ... -
rhel4 yum安装, 使用
2010-09-07 16:37 0第一种方法: yum源来自chinalinuxpub.com ... -
Windows: 远程自动安装程序
2010-08-26 15:48 1121问题的提出 作为 ... -
Oracle体系结构
2010-08-07 09:53 1060Oracle体系结构 Oracle Server包括Oracl ... -
ocp sesson 3
2010-07-31 14:39 0show parameter undo 只有 默认情况下服务 ... -
ocp session 2
2010-07-25 17:00 0/home/oracle/raInventory/orains ... -
ocp session 1
2010-07-24 13:02 0ocp first lesson D:\oracle_cou ... -
Python的xmlrpc调试
2010-07-19 23:55 2155Python的xmlrpc 调 试 ----------- ... -
mdadm使用详解及RAID 5简单分析
2010-07-11 16:19 1412http://blog.csdn.net/chinalinux ... -
Linux的lvm的基本配置步骤
2010-07-11 14:53 12981.增加硬件 增加的ide硬盘前缀为hd,scs ... -
OCP study material
2010-07-11 13:52 0\\192.168.1.105watch -n 1 'stat ... -
apache+python+mod_python+django 编译安装指南
2010-06-24 17:25 14801、本文将知道你在 linux 下使用源码包安装 ... -
在ubuntu下配置apache运行python脚本
2010-06-22 16:11 2288常用的简单命令 sudo apt ... -
Python 2.5 Quick Reference
2010-06-21 11:18 1480... -
shell 面试题汇集
2010-06-10 19:50 1088利用 top 取某个进程的 CPU 的脚本 : ... -
shell程序面试题
2010-06-10 19:48 29601.要求分析Apache访问日志,找出里面数量在前面100位的 ... -
EMC技术支持工程师笔试部分试题回忆
2010-06-07 15:16 1664要查看更多EMC公司笔经相关信息,请访问EMC公司校园招聘CL ... -
linux shell 条件语句
2010-06-03 23:29 1816...
相关推荐
总之,尽管Ajax和mashup应用提供了丰富的用户体验,但它们的安全性不容忽视。开发者需要理解潜在的风险,并采取适当措施来保障用户的数据安全。不断学习和应用最新的安全实践,是应对Ajax应用程序安全威胁的关键。
- **数据安全**:在处理第三方数据时,必须确保数据的安全性和隐私保护。 - **性能优化**:合理设计数据请求策略,避免不必要的数据加载,提高应用的响应速度。 - **用户体验**:注重界面设计和交互逻辑,确保用户...
- **Mashup概念**:Mashup是一种将两个或多个来源的数据和服务组合在一起的应用程序。这种组合可以创造出新的价值或功能。 - **Mashup开发流程**: 1. **选择API源**:确定哪些外部服务或API将被集成到Mashup中。...
### 基于Mashup的推荐书目服务...未来,随着技术的不断进步和社会需求的变化,Mashup在图书馆领域的应用将更加广泛和深入。图书馆作为知识的集散地,应当积极探索新技术的应用,为用户提供更多样化、高质量的信息服务。
IBM的Mashup产品路线图可能包括持续增强的集成能力、更丰富的Widget库、改进的安全性以及更广泛的平台支持。这预示着IBM将持续投入,以适应不断变化的市场需求和技术趋势。 ## 7. Questions & Answers 在结束时,...
Mashup可以作为API引擎,把Web服务和像Ajax这样的工具进行融合,提供一种新的应用软件开发模式,开发人员就能够更快地把应用整合在一起。这种简化开发难度的模式,在一定程度上会减少企业和客户的应用难度,加大双方...
总之,基于移动网络的聚合应用(Mashup)代表着未来移动互联网的发展趋势,它将深度改变我们的生活方式,成为连接数字世界和现实世界的桥梁。随着技术的不断进步和创新思维的推动,Mashup应用将在更多领域展现出其独特...
Google地图、Flickr、YouTube、Amazon等众多开放平台的涌现,使我们能够方便地将海量的外部Web数据灵活有序地结合起来,创建出各种奇妙的 Web Mashup(混搭)程序,从而大大拓展Web应用的广度和深度。事实上,Google...
火龙果软件工程技术中心 编辑注:本教程是Dev2DevTechDays2007的附赠品,Dev2DevTechDays2007今年的主题是“构建企业Mashup”。这次研讨会的议题是如何在企业内部有效地使用mashup,会上详细讨论了本教程阐述的技术...
- **安全性考量:** 在开发Ajax应用时,还需要注意安全性问题。例如,跨站脚本攻击(XSS)和跨站请求伪造(CSRF)是常见的安全威胁。 #### 结论 通过借鉴这些优秀的Ajax应用程序,我们可以学到很多关于如何提升...
1. **配置**:设置WCF服务以连接到Amazon Product Advertising API,包括API密钥、访问ID等安全信息。 2. **调用API**:编写代码以发送请求到Amazon的API,获取产品信息,如商品名称、价格、描述、图片等。 3. **...
这展示了Web开发中的AJAX(异步JavaScript和XML)技术,使得页面无需刷新即可获取和更新数据。 文件名“mashup-html-天气查询-Google map-yahoo weather”暗示了这个项目的主要文件类型——HTML,它是网页设计的...
【Ajax和XML:借鉴最优秀的Ajax应用程序】 Ajax(异步JavaScript和XML)是一种技术,它允许Web应用程序在不重新加载整个页面的情况下与服务器交换数据和更新部分网页内容。这种技术在提升用户体验方面起到了显著...
关于Mashup的ppt,纯英文版的
这组技术包括JavaScript、Ajax、REST、JSON和Google地图API。作为Web开发人员,了解如何结合使用这些工具很重要。简介所谓Mashup,就是在将一些数据源和服务组合到一起创建一种新功能或以某种方式添加新值的时候创建...
开发Mashup时,开发者可以利用一系列技术和工具,如客户端的JavaScript和Ajax,服务器端的JSP/Servlets、PHP或.NET,以及各种Web协议和数据表示技术,如XML、RSS/Atom、API、CSS和XHTML。 一个典型的Mashup应用案例...
将多个视图、模板和/或 Ajax 加载的 url 组合到一个基于类的视图中。 将这些视图包装在基于模板的容器中。 为不同的请求类型定义不同的视图和/或容器组合。安装在您的 Python 发行版或 virtualenv 中安装模块: $ ...
Mashup的实现技术涉及到客户端的JavaScript、Ajax,以及服务器端的JSP/Servlets、CGI、PHP或ASP等。数据源的获取则依赖于各种Web协议,如REST、SOAP、RSS/Atom和Web服务。这些协议不仅处理数据传输,还涉及接口描述...