CN102984179A - 一种面向云计算操作系统进行Web服务跨域访问的方法 - Google Patents

一种面向云计算操作系统进行Web服务跨域访问的方法 Download PDF

Info

Publication number
CN102984179A
CN102984179A CN2011102578686A CN201110257868A CN102984179A CN 102984179 A CN102984179 A CN 102984179A CN 2011102578686 A CN2011102578686 A CN 2011102578686A CN 201110257868 A CN201110257868 A CN 201110257868A CN 102984179 A CN102984179 A CN 102984179A
Authority
CN
China
Prior art keywords
browser
server
cloud
access
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011102578686A
Other languages
English (en)
Inventor
肖翱
莫展鹏
岳强
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN2011102578686A priority Critical patent/CN102984179A/zh
Publication of CN102984179A publication Critical patent/CN102984179A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及互联网技术技术领域,特指一种面向云计算操作系统进行Web服务跨域访问的方法。其通过浏览器直接发异步请求去访问云控制器(Cloud Server)服务。填补了云计算领域的Web服务跨域访问的这一技术空白点,实现了对云计算资源的Web服务的跨域访问。可广泛应用于云计算操作系统的Web服务中。

Description

一种面向云计算操作系统进行Web服务跨域访问的方法
 
技术领域
本发明涉及互联网技术技术领域,特指一种面向云计算操作系统进行Web服务跨域访问的方法。
背景技术
云计算(Cloud Computing)是2007年诞生的新名词,目前仍没有公认的定义。云计算是一种商业计算模型,它将计算任务分部在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务。而云计算操作系统是云计算后台的整体管理运营系统,它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件管理海量的基础硬件、软资源之上的云平台综合管理系统。
Web服务(Web service)是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。根据W3C的定义,Web服务应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口所组成的,它们通过网络,例如国际互联网的远程服务器端,执行客户所提交服务的请求。
跨域访问是指不同域名之间互相访问,出于安全考虑,跨域访问是被各大浏览器所默认禁止的。例如,A 网站的 javascript 代码试图跨域访问B 网站,包括提交内容和获取内容等,都是默认禁止的。与之相对应地,有一些跨域访问的方法:Web代理、按需、iframe等等。
(1)Web代理
即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果。此方案可以解决现阶段所能够想到的多数跨域访问问题,但要求A网站提供Web代理的支持,因此A网站与B网站之间必须是紧密协作的,且每次交互过程,A网站的服务器负担增加,且无法代用户保存session(对话)状态。
(2) 按需方式
MYMSN的门户就用的这种方式,不过MYMSN中不涉及跨域访问问题。动态控制script标记的生成,通过修改script标记的src属性完成对跨域页面的调用。此方案存在的缺陷是,script的src属性完成该调用时采取的方式是get方式,如果请求时传递的字符串过大时,可能会无法正常运行。不过此方案非常适合聚合类门户使用。
(3)iframe方式
在页面内嵌或动态生成指向别的网站的iframe(元素),然后这2个网页间可以通过改变对方的anchor hash fragment(连接片段)来传输消息。改变一个网页的anchor hash fragment并不会使浏览器重新装载网页,所以一个网页的状态得以保持,而网页本身则可以通过一个计时器来察觉自己anchor hash的变化,从而相应改变自己的状态。通常而言,数据提交跟获取,采用iframe这种方式的确可以了,但由于父窗口与子窗口之间不能交互(跨域访问的情况下,这种交互被拒绝),因此无法完成对父窗口效果的影响。
为确保云计算的跨平台兼容性,云计算资源会通过Web服务的方式来提供。相应的Web服务有跨域访问的需求,当前针对云计算操作系统的Web服务进行跨域访问是技术空白点,本发明围绕该问题提出一种解决方法。
发明内容
本发明解决的技术问题提供一种在于面向云计算操作系统进行Web服务跨域访问的方法。
本发明解决上述技术问题的技术方案是:
通过浏览器直接发异步请求去访问云控制器(Cloud Server)服务。
具体步骤如下:
第1步,浏览器向访问服务器发送请求,请求初始化页面;
第2步,访问服务器接受浏览器发送的初始化页面的请求,完成html响应;
第3步,浏览器动态建立一个带src属性 <script>标签,并添加head在标签里,scr为向服务端请求的Url,并且带回调方法名参数;
第4步,云服务器接收请求,将回调的方法名和结果json数据组合成一个带参的回调方法的字串,以javascript文档方式返回浏览器。浏览器并执行返回的javascrip文档,此时数据已作为参数传入到浏览器端预先定义好的callback函数里。
由访问服务器作为访问云计算操作系统门户站点服务端,用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。
由云服务器负责发布云计算操作系统的web服务。
由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。
主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。
利用本发明的方法,可以通过浏览器直接发异步请求去访问云控制器服务;确保云计算的跨平台兼容性。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明方法示意图;
图2是本发明用户实例的示意图。
具体实施方式
见附图1所示,本发明通过浏览器直接发异步请求去访问云控制器(Cloud Server)服务。由访问服务器作为云计算操作系统门户站点服务端,portal是一种web应用,通常用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。聚集是指将来自各个信息源的内容集成到一个web页面里的活动。由云服务器负责发布云计算操作系统的web服务,例如一些创建虚拟机之类。由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。
基于安全性考虑,Web上有一种同源策略,即阻止代码获得或者更改从另一个域名下获得的文件或者信息。也就是说我们的请求地址必须和当前网站的地指相同。同源策略通过隔离来实现对资源的保护。根据同源策略,通常而言,浏览器是不允许XMLHttpRequest对象异域发送请求.也就是说请求地址域名必须与当前站点的域名相同。
具体步骤如下:
第1步,浏览器向访问服务器发送请求,请求初始化页面;
第2步,访问服务器接受浏览器发送的初始化页面的请求,完成html响应;
第3步,浏览器动态建立一个带src属性 <script>标签,并添加head在标签里,scr为向服务端请求的Url,并且带回调方法名参数;
第4步,云服务器接收请求,将回调的方法名和结果json数据组合成一个带参的回调方法的字串,以javascript文档方式返回浏览器。浏览器并执行返回的javascrip文档,此时数据已作为参数传入到浏览器端预先定义好的callback函数里。
参见图2,本发明面向云计算操作系统进行Web服务跨域访问的方法的具体应用步骤如下:
第1步,我们不使用XMLHttpRequest去发送此请求,而是动态创建script标签去加载这个Url。
var runInstancesCallback;//这是为回调的方法名,加载url前,我们需要先声明。
       var script = document.createElement('script');        script.setAttribute('src', request_url);        //load javascript        document.getElementsByTagName('head')[0].appendChild(script);
script.onload = script.onreadystatechange = function(){
       …
 //回调处理
}
       第2步,在云控制服务端(clc)需要接收这个jsoncallback参数,并将此参数与结果数据组合成javascript的一个回调方法返回.例如组合成如下字串。
       runInstanceCallback({success:true});//{success:true}为结果json数据.
       第3步,浏览器客户端,Script标签处理后的效果如下:
<script scr=request_url >
runInstanceCallback({success:true});
</script>;
至此我们能够在浏览器端使用runInstancesCallback处理回调数据。如
runInstancesCallbakc(data){
       if(data.success==true)
              alert(‘创建虚拟机成功’);
}
清除script标签:
document.getElementsByTagName('head')[0].removeChild(script);
跨域调用结束。

Claims (10)

1.一种面向云计算操作系统进行Web服务跨域访问的方法,其特征是:通过浏览器直接发异步请求去访问云控制器(Cloud Server)服务。
2.根据权利要求1所述的方法,其特征在于:具体步骤如下:
第1步,浏览器向访问服务器发送请求,请求初始化页面;
第2步,访问服务器接受浏览器发送的初始化页面的请求,完成html响应;
第3步,浏览器动态建立一个带src属性 <script>标签,并添加head在标签里,scr为向服务端请求的Url,并且带回调方法名参数;
第4步,云服务器接收请求,将回调的方法名和结果json数据组合成一个带参的回调方法的字串,以javascript文档方式返回浏览器,浏览器并执行返回的javascrip文档,此时数据已作为参数传入到浏览器端预先定义好的callback函数里。
3.根据权利要求1或2所述的方法,其特征在于:由访问服务器作为访问云计算操作系统门户站点服务端,用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。
4.根据权利要求1或2所述的方法,其特征在于:由云服务器负责发布云计算操作系统的web服务。
5.根据权利要求3所述的方法,其特征在于:由云服务器负责发布云计算操作系统的web服务。
6.根据权利要求1或2所述的方法,其特征在于:由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。
7.根据权利要求3所述的方法,其特征在于:由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。
8.根据权利要求4所述的方法,其特征在于:由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。
9.根据权利要求5所述的方法,其特征在于:由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。
10.根据权利要求9所述的方法,其特征在于:主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。
CN2011102578686A 2011-09-02 2011-09-02 一种面向云计算操作系统进行Web服务跨域访问的方法 Pending CN102984179A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102578686A CN102984179A (zh) 2011-09-02 2011-09-02 一种面向云计算操作系统进行Web服务跨域访问的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102578686A CN102984179A (zh) 2011-09-02 2011-09-02 一种面向云计算操作系统进行Web服务跨域访问的方法

Publications (1)

Publication Number Publication Date
CN102984179A true CN102984179A (zh) 2013-03-20

Family

ID=47857922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102578686A Pending CN102984179A (zh) 2011-09-02 2011-09-02 一种面向云计算操作系统进行Web服务跨域访问的方法

Country Status (1)

Country Link
CN (1) CN102984179A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414764A (zh) * 2013-07-24 2013-11-27 广东电子工业研究院有限公司 一种云平台弹性存储系统及其弹性存储实现方法
CN104914795A (zh) * 2014-03-10 2015-09-16 杭州智尔科技有限公司 一种智能云控制模块
CN105045887A (zh) * 2015-07-24 2015-11-11 苏州工业园区迪锐信信息科技有限责任公司 混合模式跨域数据交互的系统及其方法
CN109101406A (zh) * 2018-07-05 2018-12-28 北京西普阳光教育科技股份有限公司 基于前端埋点的响应式页面热力图的生成方法和装置
CN112491955A (zh) * 2020-10-23 2021-03-12 北京思特奇信息技术股份有限公司 一种基于代理服务器实现iframe系统数据交换的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327421A1 (en) * 2008-06-25 2009-12-31 International Business Machines Corporation Cross domain interaction of a Web application
CN101662460A (zh) * 2008-08-25 2010-03-03 阿里巴巴集团控股有限公司 一种跨域通讯的方法、系统和装置
CN101997876A (zh) * 2010-11-05 2011-03-30 重庆大学 基于属性的访问控制模型及其跨域访问方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327421A1 (en) * 2008-06-25 2009-12-31 International Business Machines Corporation Cross domain interaction of a Web application
CN101662460A (zh) * 2008-08-25 2010-03-03 阿里巴巴集团控股有限公司 一种跨域通讯的方法、系统和装置
CN101997876A (zh) * 2010-11-05 2011-03-30 重庆大学 基于属性的访问控制模型及其跨域访问方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
党寿江等: "JSONP研究及其在IPTV门户系统中的应用", 《微计算机信息》, no. 30, 31 October 2010 (2010-10-31), pages 183 - 185 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414764A (zh) * 2013-07-24 2013-11-27 广东电子工业研究院有限公司 一种云平台弹性存储系统及其弹性存储实现方法
CN104914795A (zh) * 2014-03-10 2015-09-16 杭州智尔科技有限公司 一种智能云控制模块
CN105045887A (zh) * 2015-07-24 2015-11-11 苏州工业园区迪锐信信息科技有限责任公司 混合模式跨域数据交互的系统及其方法
CN105045887B (zh) * 2015-07-24 2018-06-22 苏州工业园区迪锐信信息科技有限责任公司 混合模式跨域数据交互的系统及其方法
CN109101406A (zh) * 2018-07-05 2018-12-28 北京西普阳光教育科技股份有限公司 基于前端埋点的响应式页面热力图的生成方法和装置
CN112491955A (zh) * 2020-10-23 2021-03-12 北京思特奇信息技术股份有限公司 一种基于代理服务器实现iframe系统数据交换的方法和系统
CN112491955B (zh) * 2020-10-23 2023-07-07 北京思特奇信息技术股份有限公司 一种基于代理服务器实现iframe系统数据交换的方法和系统

Similar Documents

Publication Publication Date Title
CN103942225B (zh) 一种混合型应用客户端的资源调用方法、客户端及系统
US11201938B2 (en) Systems and methods of token piggybacking
US8719421B2 (en) Cross domain interaction of a web application
US7908551B2 (en) Dynamically generating customized user interfaces
US9264435B2 (en) Apparatus and methods for access solutions to wireless and wired networks
US8341239B2 (en) Method and system for providing runtime vulnerability defense for cross domain interactions
US20070260702A1 (en) Web browser architecture for virtual machine access
CN105045887B (zh) 混合模式跨域数据交互的系统及其方法
CN103782294A (zh) 远程浏览会话管理
CN108984170A (zh) H5页面多语言渲染方法及装置
US9143378B2 (en) Rendering components within different browser environments
US8606912B1 (en) Statistics overlay
JP2015167014A (ja) ウェブアプリケーションを実施する方法、装置、サーバ、及びシステム
US20120198361A1 (en) Method and System for Seamless Navigation and Drill Back Among a Plurality of Web Applications
CN112131504B (zh) 一种网页编辑、展示方法、装置、设备以及存储介质
CN102984179A (zh) 一种面向云计算操作系统进行Web服务跨域访问的方法
US8874654B2 (en) System for processing requests to portlets
CN103023861A (zh) 一种网络登录方法和登录系统、鉴权服务器
US20140245124A1 (en) System and method thereof for browser agnostic extension models
CN105095220B (zh) 一种浏览器实现方法、终端和虚拟化代理装置
CN111880789A (zh) 页面渲染方法、装置、服务端和计算机可读存储介质
JP5937207B2 (ja) 遠隔ブラウジングセッション管理
CN104123143A (zh) 用户控件加载系统及方法
WO2009109628A1 (en) Method of tracking usage of client computer and system for same
CN102004729A (zh) 一种网站网页的展现方法、系统及网站服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130320