我正在为使用手机的动态共乘服务开发一个开放的“协议”。 它基于XML-RPC并使用编组对象作为参数(非常像Soap)。
草案中将记录每个实体和操作。 例如,查看要在协议中使用的文档化Prefs对象的第一个框架。
Prefs对象
存储由创建它的人[...]
设置的旅程的首选项Attribute Type Requirement
age string MAY
nonsmoking boolean MAY
gender string MAY
drive boolean MAY
ride boolean MAY
以下是协议操作中使用的有效Prefs对象:
<struct>
<member>
<name>nonsmoking</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>gender</name>
<value>
<string/>
</value>
</member>
<member>
<name>ride</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>drive</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>age</name>
<value>
<string>18-40</string>
</value>
</member>
</struct>
使用Prefs对象的操作将具有HTTP POST操作的完整描述,其中包含所有详细信息等。
你会称这个为协议还是API?即,如果我们编写一个基于另一个协议的协议(在这种情况下是XML-RPC),衍生工作又是一个协议吗?
我想知道,因为我会在学士论文中谈论这个问题而且我不想说一些非常愚蠢的事情:)
谢谢!
答案 0 :(得分:3)
严格地说,每个API都是一个协议。协议通常基于其他协议。 TCP基于IP。 HTTP位于TCP上,HTTPS基于HTTP,依此类推。
您的协议不是网络协议,而是应用程序级通信协议。
答案 1 :(得分:2)
协议本身就像一种机制,提供一组在网络中的节点上工作的相关功能。 协议的上层可以是应用程序或其他协议。 该协议为上层提供API(也称为服务访问点)以访问其功能。