在OSI层可以是REST api

6 rest osi restful-architecture

也许我有一个愚蠢的问题,但我试图在OSI层之间分类REST api.(面试问题)它必须在5到7层之间,面试官说:它在5层,因为它类似于RPC.

但在我看来它不能在5会话层,因为真正的REST api是无状态的,不像会话(http会话),所以在我看来,它可以作为协议来自7应用层,因为它就像http(但为什么不在6? ).

我在互联网上搜索一些资源,但我找不到明确的答案.(我知道在OSI中放置的协议并不清楚)但也许您对此有好的看法?

Pro*_*Cpp 7

REST不是两个系统进行通信的协议。REST是一种体系结构样式。它通常位于应用程序层HTTP之上。

  • @PabloBianchi 我不认为答案是创建更多层。TCP/IP 模型只有 4 层,在 Internet 概念中更有意义。操作系统之上的所有内容(**网络**和**传输**层)只是“**应用程序**”。应用程序选择对数据执行的操作应该超出“互连模型”的范围。这适用于从互联网到通用铜/射频/红外连接微控制器的所有事物。 (2认同)

小智 5

REST 架构在某种意义上是无状态的,即服务器不存储客户端的状态,而是来回传输对象的状态。毕竟,REST 代表 Representational State Transfer。所以,我认为 REST 属于第 5 层 - 会话层,它通常被描述为在两个节点之间以多次来回传输的形式连续交换信息的层。

很难看出 REST API 如何属于 OSI 模型的第 6 层或第 7 层。表示层提供将要传输的数据的表示形式或语法的协商。通常字符编码(UTF、ASCII)、数据加密和解密等机制是表示层的一部分。应用层提供支持最终用户进程的应用特定服务,如 FTP、HTTP、Telnet。