概念
国际标准化组织(ISO)定义了网络协议的基本框架,被称为OSI(开放系统互联)模型。 要制定通讯规则,内容会很多,比如要考虑A电脑如何找到B电脑,A电脑在发送信息 给B电脑时是否需要B电脑进行反馈,A电脑传送给B电脑的数据的格式又是怎样的?内容太多太杂,所以OSI模型将这些通讯标准进行层次划分,每一层次解决一个类别的问题,这样就使得标准的制定没那么复杂。 OSI模型制定的七层标准模型,分别是:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。
TCI/IP协议
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
HTTP协议
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
REST
REST即表述性状态传递(英文:Representational State Transfer,简称REST),它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性. 在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。 REST API就是把数据以资源的形式暴露出来,并使用标准的Http方法来代表创建、读取、更新和删除等 方法表明了要执行的动作,不同的http方法作用于同一个URL上可实现不同的功能 创建-post 读取-get 整体更新-put 局部更新-patch 删除-delete
SOAP
是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。 SOAP封装(envelop),它定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们; SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。具体实现可以搜索 Web Services简单实例 ; SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。 相关定义 基于类对象的传输协议。 SOAP封装(envelop),它定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们; SOAP编码规则(encoding rules),它定义了一种序列化机制,用于表示应用程序需要使用的数据类型的实例; SOAP RPC表示(RPC representation),它定了一个协定,用于表示远程过程调用和应答; SOAP绑定(binding),它定义了SOAP使用哪种协议交换信息。使用HTTP/TCP/UDP协议都可以。
通俗理解
网上看到过一个比较生动的解释,在通讯还不发达的年代,亲朋好友彼此联系下,一定只能是通过"书信"·寄信需要用到信封、邮票、邮政员。我们把这种方式用个现代的词语理解就是‘通信’。 互联网时代的话,通信变得更加简单了,只有有网络就可以实现通信。通信需要遵循的一个规则就是协议。Rest和Soap我们可以理解为信件和明信片,它们是建立在Http协议的通信方式。
信封 Soap是建立在Http之下的一种软件程序之间的通讯协议, Rest是一种规范,主流的Web API,核心就是资源,一个资源可以就是被标识的实体,有具体的名称和地址。 邮票 Soap主要通过xml格式传递消息, 而Rest可以使用xml.json.html。 邮政员 TCP/IP协议。
简单记录,可能有理解不对的地方,持续学习。
|