当前位置:首页 » 资讯中心 » 周边资讯 » 正文

深入解析HTTPS协议在AS3中的应用与优势

深入解析HTTPS协议在AS3中的应用与优势

一、引言

随着互联网技术的快速发展,网络安全问题日益受到关注。

HTTP协议作为互联网中应用最广泛的网络协议之一,存在着安全隐患。

为了弥补HTTP协议的不足,HTTPS协议应运而生。

AS3(ActionScript 3.0)作为一种在Flash平台上运行的编程语言,广泛应用于网络应用程序的开发。

本文将深入解析HTTPS协议在AS3中的应用与优势。

二、HTTPS协议概述

HTTPS协议是在HTTP协议基础上,通过SSL/TLS加密技术实现的安全通信协议。

HTTPS协议对传输的数据进行加密,确保数据在传输过程中的安全性。

HTTPS协议还提供了身份认证功能,确保通信双方的身份真实性。

三、HTTPS协议在AS3中的应用

1. 数据传输安全:AS3开发中,经常会涉及到数据传输,如用户登录信息、支付信息等。通过HTTPS协议,可以确保这些数据在传输过程中的安全性,防止数据被窃取或篡改。

2. 身份认证:AS3开发的应用程序中,经常需要与服务器进行交互。通过HTTPS协议的身份认证功能,可以确保服务器的真实性,防止假冒服务器欺骗用户。

3. 加载远程资源:AS3中可以通过HTTPS协议加载远程资源,如加载网页内容、图片等。使用HTTPS协议加载资源,可以确保资源的完整性和安全性。

4. Web服务调用:AS3中经常需要调用Web服务,通过HTTPS协议可以安全地调用Web服务,确保通信的安全性。

四、HTTPS协议在AS3中的优势

1. 数据安全性高:HTTPS协议采用SSL/TLS加密技术,对数据进行加密传输,有效防止数据在传输过程中被窃取或篡改。

2. 身份认证可靠:HTTPS协议提供了身份认证功能,可以确保通信双方的身份真实性,防止假冒服务器欺骗用户。

3. 适用范围广泛:由于HTTPS协议的广泛应用和普及,几乎所有网站和应用都支持HTTPS协议,使得AS3开发的应用程序可以与各种服务器进行安全通信。

4. 提升用户体验:使用HTTPS协议可以提高数据传输的速度和稳定性,提升用户的使用体验。HTTPS协议还可以防止因网络中间人攻击导致的连接中断问题。

5. 兼容性良好:HTTPS协议与各种浏览器和操作系统都具有良好的兼容性,使得AS3开发的应用程序可以在各种平台上正常运行。

6. 节省开发成本:使用HTTPS协议可以降低因数据泄露或身份冒充等安全问题导致的开发成本和维护成本。

五、结论

HTTPS协议在AS3中具有广泛的应用和明显的优势。

通过HTTPS协议,可以确保AS3开发的应用程序在数据传输、身份认证、加载远程资源和Web服务调用等方面的安全性。

HTTPS协议还具有数据安全性高、身份认证可靠、适用范围广泛、提升用户体验、兼容性良好和节省开发成本等优点。

因此,在AS3开发中,使用HTTPS协议是明智的选择。


java分布式服务器之间怎么调用

基本原理 要实现网络机器间的通讯,首先得来看看计算机系统网络通信的基本原理,在底层层面去看,网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http、tcp、 udp 等等,http、tcp、udp 都是在基于Socket 概念上为某类应用场景而扩展出的传输协议,网络IO,主要有bio、nio、aio 三种方式,所有的分布式应用通讯都基于这个原理而实现,只是为了应用的易用,各种语言通常都会提供一些更为贴近应用易用的应用层协议。

应用级协议 远程服务通讯,需要达到的目标是在一台计算机发起请求,另外一台机器在接收到请求后进行相应的处理并将结果返回给请求端,这其中又会有诸如 onewayrequest、同步请求、异步请求等等请求方式,按照网络通信原理,需要实现这个需要做的就是将请求转换成流,通过传输协议传输至远端,远端计算机在接收到请求的流后进行处理,处理完毕后将结果转化为流,并通过传输协议返回给调用端。

原理是这样的,但为了应用的方便,业界推出了很多基于此原理之上的应用级的协议,使得大家可以不用去直接操作这么底层的东西,通常应用级的远程通信协议会提供: 1.为了避免直接做流操作这么麻烦,提供一种更加易用或贴合语言的标准传输格式;2.网络通信机制的实现,就是替你完成了将传输格式转化为流,通过某种传输协议传输至远端计算机,远端计算机在接收到流后转化为传输格式,并进行存储或以某种方式通知远端计算机。

所以在学习应用级的远程通信协议时,我们可以带着这几个问题进行学习: 1.传输的标准格式是什么?2.怎么样将请求转化为传输的流?3.怎么接收和处理流?4.传输协议是? 不过应用级的远程通信协议并不会在传输协议上做什么多大的改进,主要是在流操作方面,让应用层生成流和处理流的这个过程更加的贴合所使用的语言或标准,至于传输协议则通常都是可选的,在java 领域中知名的有:RMI、 XML-RPC、Binary-RPC、SOAP、CORBA、JMS,来具体的看看这些远程通信的应用级协议: RMIRMI 是个典型的为java 定制的远程通信协议,我们都知道,在 singlevm 中,我们可以通过直接调用javaobjectinstance 来实现通信,那么在远程通信时,如果也能按照这种方式当然是最好了,这种远程通信的机制成为RPC(RemoteProcedureCall),RMI 正是朝着这个目标而诞生的。

来看下基于RMI 的一次完整的远程通信过程的原理: 1.客户端发起请求,请求转交至RMI 客户端的stub 类; 类将请求的接口、方法、参数等信息进行序列化;3.基于socket 将序列化后的流传输至服务器端;4.服务器端接收到流后转发至相应的skelton 类; 类将请求的信息反序列化后调用实际的处理类;6.处理类处理完毕后将结果返回给 skelton 类; 类将结果序列化,通过socket 将流传送给客户端的 stub; 在接收到流后反序列化,将反序列化后的JavaObject 返回给调用者。

根据原理来回答下之前学习应用级协议带着的几个问题: 1.传输的标准格式是什么?是JavaObjectStream。

2.怎么样将请求转化为传输的流?基于Java 串行化机制将请求的javaobject 信息转化为流。

3.怎么接收和处理流?根据采用的协议启动相应的监听端口,当有流进入后基于Java 串行化机制将流进行反序列化,并根据RMI 协议获取到相应的处理对象信息,进行调用并处理,处理完毕后的结果同样基于java 串行化机制进行返回。

4.传输协议是?Socket。

XML-RPCXML-RPC 也是一种和RMI 类似的远程调用的协议,它和RMI 的不同之处在于它以标准的 xml 格式来定义请求的信息(请求的对象、方法、参数等),这样的好处是什么呢,就是在跨语言通讯的时候也可以使用。

来看下XML-RPC 协议的一次远程通信过程: 1.客户端发起请求,按照XML-RPC 协议将请求信息进行填充;2.填充完毕后将xml 转化为流,通过传输协议进行传输;3.接收到在接收到流后转换为xml,按照XML-RPC 协议获取请求的信息并进行处理;4.处理完毕后将结果按照XML- RPC 协议写入xml 中并返回。

同样来回答问题: 1.传输的标准格式是?标准格式的XML。

2.怎么样将请求转化为传输的流? 将XML 转化为流。

3.怎么接收和处理流?通过监听的端口获取到请求的流,转化为XML,并根据协议获取请求的信息,进行处理并将结果写入XML 中返回。

4. 传输协议是?Http。

Binary-RPCBinary-RPC 看名字就知道和XML-RPC 是差不多的了,不同之处仅在于传输的标准格式由XML 转为了二进制的格式。

同样来回答问题: 1.传输的标准格式是?标准格式的二进制文件。

2.怎么样将请求转化为传输的流?将二进制格式文件转化为流。

3.怎么接收和处理流?通过监听的端口获取到请求的流,转化为二进制文件,根据协议获取请求的信息,进行处理并将结果写入XML 中返回。

4.传输协议是?Http。

SOAPSOAP 原意为SimpleObjectAccessProtocol,是一个用于分布式环境的、轻量级的、基于XML 进行信息交换的通信协议,可以认为SOAP 是XMLRPC 的高级版,两者的原理完全相同,都是http+XML,不同的仅在于两者定义的XML 规范不同,SOAP 也是Webservice 采用的服务调用协议标准,因此在此就不多加阐述了。

CORBACommonObjectRequestBrokerArchitecture(公用对象请求代理[调度]程序体系结构),是一组用来定义分布式对象系统的标准,由 OMG(ObjectMenagementGroup)作为发起和标准制定单位。

CORBA 的目的是定义一套协议,符合这个协议的对象可以互相交互,不论它们是用什么样的语言写的,不论它们运行于什么样的机器和操作系统。

CORBA 在我看来是个类似于SOA 的体系架构,涵盖可选的远程通信协议,但其本身不能列入通信协议这里来讲,而且CORBA 基本淘汰,再加上对CORBA 也不怎么懂,在此就不进行阐述了。

JMSJMS 呢,是实现java 领域远程通信的一种手段和方法,基于JMS 实现远程通信时和RPC 是不同的,虽然可以做到RPC 的效果,但因为不是从协议级别定义的,因此我们不认为JMS 是个RPC 协议,但它确实是个远程通信协议,在其他的语言体系中也存在着类似JMS 的东西,可以统一的将这类机制称为消息机制,而消息机制呢,通常是高并发、分布式领域推荐的一种通信机制,这里的主要一个问题是容错(详细见ErLang 论文)。

来看JMS 中的一次远程通信的过程: 1.客户端将请求转化为符合JMS 规定的Message;2.通过JMSAPI 将Message 放入JMSQueue 或Topic 中;3.如为JMSQueue,则发送中相应的目标Queue 中,如为Topic,则发送给订阅了此Topic 的JMSQueue。

4.处理端则通过轮训 JMSQueue,来获取消息,接收到消息后根据JMS 协议来解析Message 并处理。

回答问题: 1.传输的标准格式是?JMS 规定的Message。

2.怎么样将请求转化为传输的流?将参数信息放入Message 中即可。

3.怎么接收和处理流?轮训JMSQueue 来接收Message,接收到后进行处理,处理完毕后仍然是以Message 的方式放入 Queue 中发送或Multicast。

4.传输协议是?不限。

基于JMS 也是常用的实现远程异步调用的方法之一。

Remoting和Webservice的区别

其实现的原理并没有本质的区别,在应用开发层面上有以下区别:1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这样比Web Service稍为高效一些2、Remoting不是标准,而Web Service是标准;3、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要IIS进行启动。

4、在开发环境中,专门对Web Service的调用进行了封装,用起来比Remoting方便我建议还是采用Web Service好些,对于开发来说更容易控制Remoting一般用在C/S的系统中,Web Service是用在B/S系统中后者还是各语言的通用接口相同之处就是都基于XML为了能清楚地描述Web Service 和Remoting之间得区别,我打算从他们的体系结构上来说起: Web Service大体上分为5个层次: 1. Http传输信道 2. XML的数据格式 3. SOAP封装格式 4. WSDL的描述方式 5. UDDI 总体上来讲, 下的 Web Service结构比较简单,也比较容易理解和应用: 一般来讲在结构下的WebService应用都是基于 framework以及IIS的架构之下,所以部署(Dispose)起来相对比较容易点. 从实现的角度来讲, 首先WebService必须把暴露给客户端的方法所在的类继承于这个基类 其次所暴露的方法前面必须有[WebMethod]或者[WebMethodAttribute] WebService的运行机理 首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(Proxy Class) 这个代理类负责与WebService服务器进行Request 和Response 当一个数据(XML格式的)被封装成SOAP格式的数据流发送到服务器端的时候,就会生成一个进程对象并且把接收到这个Request的SOAP包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行SOAP包装,然后把这个包作为一个Response发送给客户端的代理类(Proxy Class),同样地,这个代理类也对这个SOAP包进行解析处理,继而进行后续操作。

这就是WebService的一个运行过程。

下面对 Remoting进行概括的阐述: Remoting 是在DCOM等基础上发展起来的一种技术,它的主要目的是实现跨平台、跨语言、穿透企业防火墙,这也是他的基本特点,与WebService有所不同的是,它支持HTTP以及TCP信道,而且它不仅能传输XML格式的SOAP包,也可以传输传统意义上的二进制流,这使得它变得效率更高也更加灵活。

而且它不依赖于IIS,用户可以自己开发(Development)并部署(Dispose)自己喜欢的宿主服务器,所以从这些方面上来讲WebService其实上是 Remoting的一种特例。

Remoting的两种通道Remoting的通道主要有两种:Tcp和Http。

在中,中定义了 IChannel接口。

IChannel接口包括了TcpChannel通道类型和Http通道类型。

它们分别对应Remoting通道的这两种类型1. remoting 是MarshByReference的,可以传变量的引用,直接对服务器对象操作。

速度快,适合intranet(企业内部互联网)。

webservice 是MarshByValue的,必须传对象的值。

速度慢,可以过FIREWALL,配置比较简单,适合internet(因特网)。

2. 一般来说,remoting是和平台相关的,需要客户和服务器都是,但可配置特性比较好,可以自定义协议。

web service可以做到跨平台通信,但必须采用SOAP协议。

3. Soap消息有rpc和文档两种样式。

文档样式的body元素中包含一个或多个元素,可以是任何内容,只要接受者理解就行了。

rpc样式的的body元素中包含调用的方法或远程过程的名称,以及代表方法参数的元素。

对这两种样式的实现就是web service 和remoting .概括的说Remoting与Web Services的区别是:(1)既支持TCP信道又支持HTTP信道,传输速度快(2)即可传输XML的SOAP包又可传输二进制流,效率高(3)Remoteing主要用于C/S结构项目(4)不一定要依赖IIS服务器

主要几种通信协议的性能比较

RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。

但它只能用于JAVA程序之间的通讯。

Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。

协议的规范公开,可以用于任意语言。

Httpinvoker是SpringFramework提供的远程通讯协议,只能用于JAVA程序间的通讯,且服务端和客户端必须使用SpringFramework。

Web service是连接异构系统或异构语言的首选协议,它使用SOAP形式通讯,可以用于任何语言,目前的许多开发工具对其的支持也很好。

02测试结果显示,几种协议的通讯效率依次为:RMI > Httpinvoker >= Hessian >> Burlap >> web serviceRMI不愧是JAVA的首选远程调用协议,非常高效稳定,特别是在大数据量的情况下,与其他通讯协议的差距尤为明显。

HttpInvoker使用java的序列化技术传输对象,与RMI在本质上是一致的。

从效率上看,两者也相差无几,HttpInvoker与RMI的传输时间基本持平。

Hessian在传输少量对象时,比RMI还要快速高效,但传输数据结构复杂的对象或大量数据对象时,较RMI要慢20%左右。

Burlap仅在传输1条数据时速度尚可,通常情况下,它的毫时是RMI的3倍。

Web Service的效率低下是众所周知的,平均来看,Web Service的通讯毫时是RMI的10倍。

0202二、结果分析1、直接调用直接调用的所有毫时都接近0,这说明程序处理几乎没有花费时间,记录的全部时间都是远程调用耗费的。

2、RMI调用与设想的一样,RMI理所当然是最快的,在几乎所有的情况下,它的毫时都是最少的。

特别是在数据结构复杂,数据量大的情况下,与其他协议的差距尤为明显。

为了充分发挥RMI的性能,另外做了测试类,不使用Spring,用原始的RMI形式(继承UnicastRemoteObject对象)提供服务并远程调用,与Spring对POJO包装成的RMI进行效率比较。

结果显示:两者基本持平,Spring提供的服务还稍快些。

初步认为,这是因为Spring的代理和缓存机制比较强大,节省了对象重新获取的时间。

3、Hessian调用caucho公司的resin服务器号称是最快的服务器,在java领域有一定的知名度。

Hessian做为resin的组成部分,其设计也非常精简高效,实际运行情况也证明了这一点。

平均来看,Hessian较RMI要慢20%左右,但这只是在数据量特别大,数据结构很复杂的情况下才能体现出来,中等或少量数据时,Hessian并不比RMI慢。

Hessian的好处是精简高效,可以跨语言使用,而且协议规范公开,我们可以针对任意语言开发对其协议的实现。

目前已有实现的语言有:java, c++, , python, ruby。

还没有delphi的实现。

另外,Hessian与WEB服务器结合非常好,借助WEB服务器的成熟功能,在处理大量用户并发访问时会有很大优势,在资源分配,线程排队,异常处理等方面都可以由成熟的WEB服务器保证。

而RMI本身并不提供多线程的服务器。

而且,RMI需要开防火墙端口,Hessian不用。

4、Burlap调用Burlap与Hessian都是caucho公司的开源产品,只不过Hessian采用二进制的方式,而Burlap采用xml的格式。

测试结果显示,Burlap在数据结构不复杂,数据量中等的情况下,效率还是可以接受的,但如果数据量大,效率会急剧下降。

平均计算,Burlap的调用毫时是RMI的3倍。

我认为,其效率低有两方面的原因,一个是XML数据描述内容太多,同样的数据结构,其传输量要大很多;另一方面,众所周知,对xml的解析是比较费资源的,特别对于大数据量情况下更是如此。

5、HttpInvoker调用HttpInvoker是SpringFramework提供的JAVA远程调用方法,使用java的序列化机制处理对象的传输。

从测试结果看,其效率还是可以的,与RMI基本持平。

不过,它只能用于JAVA语言之间的通讯,而且,要求客户端和服务端都使用SPRING框架。

另外,HttpInvoker 并没有经过实践的检验,目前还没有找到应用该协议的项目。

6、web service调用2 本次测试选用了apache的AXIS组件作为WEB SERVICE的实现,AXIS在WEB SERVICE领域相对成熟老牌。

为了仅测试数据传输和编码、解码的时间,客户端和服务端都使用了缓存,对象只需实例化一次。

但是,测试结果显示,web service的效率还是要比其他通讯协议慢10倍。

如果考虑到多个引用指向同一对象的传输情况,web service要落后更多。

因为RMI,Hessian等协议都可以传递引用,而web service有多少个引用,就要复制多少份对象实体。

Web service传输的冗余信息过多是其速度慢的原因之一,监控发现,同样的访问请求,描述相同的数据,web service返回的数据量是hessian协议的6.5倍。

另外,WEB SERVICE的处理也很毫时,目前的xml解析器效率普遍不高,处理xml <-> bean很毫资源。

从测试结果看,异地调用比本地调用要快,也从侧面说明了其毫时主要用在编码和解码xml文件上。

这比冗余信息更为严重,冗余信息占用的只是网络带宽,而每次调用的资源耗费直接影响到服务器的负载能力。

(MS的工程师曾说过,用WEB SERVICE不能负载100个以上的并发用户。

)测试过程中还发现,web service编码不甚方便,对非基本类型需要逐个注册序列化和反序列化类,很麻烦,生成stub更累,不如spring + RMI/hessian处理那么流畅简洁。

未经允许不得转载:虎跃云 » 深入解析HTTPS协议在AS3中的应用与优势
分享到
0
上一篇
下一篇

相关推荐

联系我们

huhuidc

复制已复制
262730666复制已复制
13943842618复制已复制
262730666@qq.com复制已复制
0438-7280666复制已复制
微信公众号
huyueidc_com复制已复制
关注官方微信,了解最新资讯
客服微信
huhuidc复制已复制
商务号,添加请说明来意
contact-img
客服QQ
262730666复制已复制
商务号,添加请说明来意
在线咨询
13943842618复制已复制
工作时间:8:30-12:00;13:30-18:00
客服邮箱
服务热线
0438-7280666复制已复制
24小时服务热线