TCP/IP及http协议 SOAP REST

时间:2023-12-27 18:37:01

TCP/IP及http协议:

TCP/IP协议主要解决数据如何在网络中传输,
而HTTP是应用层协议,主要解决如何包装数据

SOAP:简单对象访问协议(Simple Object Access Protocol)是一种数据交换协议规范,
是一种轻量的、简单的、基于XML的协议的规范。
它有什么优点?简单总结为: 易用,灵活,跨语言,跨平台。
易用:是因为它的消息是基于xml并封装成了符合http协议,因此,它符合任何路由器、 防火墙或代理服务器的要求。
灵活:表现在极具拓展性,SOAP 无需中断已有的应用程序, SOAP 客户端、 服务器和协议自身都能发展。而且SOAP 能极好地支持中间介质和层次化的体系结构。

REST是一种软件架构风格而非协议也非规范
是一种针对网络应用的开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的服务抽象为资源,
REST从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。
Http协议所抽象的get,post,put,delete就好比数据库中最基本的增删改查
对于各种资源的操作最后总是能抽象成为这四种基本操作
在定义了定位资源的规则以后,对于资源的操作通过标准的Http协议就可以实现

REST 和 SOAP、RPC 有何区别呢?没什么太大区别,
他们的本质都是提供可支持分布式的基础服务,
最大的区别在于他们各自的的特点所带来的不同应用场景。

REST可以看着是http协议的一种直接应用,默认基于json作为传输格式,使用简单,学习成本低效率高,~~但是安全性较低~~,

SOAP可以看着是一个重量级的协议,基于xml,

SOAP在安全方面是通过使用XML-Security和XML-Signature两个规范组成了WS-Security来实现安全控制的,
当前已经得到了各个厂商的支持,.net ,php ,java 都已经对其有了很好的支持 。这是REST薄弱的地方。