webservice与websocket
- websocket:http的一个缺点是是能由客户端往服务端发请求,不能反向。websocket技术使得服务端可以往客户端推送消息。
websocket与http的区别
相同点
- 都是一样基于TCP的,都是可靠性传输协议。
- 都是应用层协议
不同点
- websocket是双向的,http是单向的
- websocket是需要进行握手链接的
联系
WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。
webservice
webservice是一种跨平台跨语言的远程调用技术。
XML+XSD,SOAP,WSDL是构成webservice的三大技术
-
XML(数据表示)
WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。XML是WebService平台中表示数据的格式。除了易于建立和易于分析外,XML主要的优点在于它既是平台无关的,又是厂商无关的。
XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16位,32位,64位?这些细节对实现互操作性很重要。XML Schema(XSD)就是专门解决这个问题的一套标准。 -
SOAP(Simple Object Access Protocol简单对象访问协议)(数据传输)
WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用Web Service。
SOAP协议 = HTTP协议 + XML数据格式 -
WSDL(描述服务端有哪些方法可悲调用,以及方法需要的参数,服务器的URL等)
WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用
WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值