OSI模型中的HTTP在哪一层?

Tim*_*Tim 3 http osi

有人说HTTP在OSI模型的会话层中。

但是在Tanenbaum的计算机网络中,HTTP被认为是OSI模型中的应用程序层。

也有人说HTTP没有会话的概念。这是否意味着HTTP不能在会话层中?

那么HTTP是会话层吗?谢谢。

cas*_*lin 12

OSI模型中的HTTP在哪一层?

应用程序层中。请参阅RFC 7230的以下引号,RFC 7230是当前定义HTTP / 1.1协议的文档之一:

超文本传输​​协议(HTTP)是一种无状态的应用程序级别的请求/响应协议,它使用可扩展的语义和自描述消息有效负载来与基于网络的超文本信息系统进行灵活的交互。

HTTP是一种无状态请求/响应协议,通过在可靠的传输层或会话层“连接”之间交换消息来进行操作。


也有人说HTTP没有会话的概念。这是否意味着HTTP不能在会话层中?

如先前在RFC 7230的引号中所述,HTTP协议是无状态的,其中从客户端到服务器的每个请求(应)包含理解该请求所需的所有信息,而不利用服务器上的任何存储上下文。

RFC 6265个定义了一些机制,状态管理HTTP,如饼干,允许在服务器端的会话管理(但不会使HTTP状态以任何方式)。

的概念会话中HTTP是从概念不同会话在OSI模型中。无论如何,HTTP是一个应用程序层协议

OSI模型

OSI(开放系统互连)模型是国际标准化组织创建的概念模型,它使各种通信系统能够使用标准协议进行通信。

它为不同的计算机系统之间相互通信提供了标准,并且可以看作是计算机网络的通用语言。它基于将通信系统分为七个抽象层的概念,每个抽象层堆叠在最后一层。

以下从Cloudflare借用的图片很好地说明了OSI模型的样子:

OSI模型

应用程序层是唯一与用户数据直接交互的层。因此,诸如Web浏览器和电子邮件客户端之类的软件应用程序都依赖于应用程序层来发起通信。

但应该明确的是,客户端软件应用程序不是应用程序层的一部分:应用程序层负责该软件所依赖的协议(例如HTTP和SMTP)和数据操作,以向用户提供有意义的数据。

OSI模型与TCP / IP模型

尽管OSI模型是通用网络系统的综合参考框架,但必须指出的是,现代Internet并不严格遵循OSI模型。

现代Internet更紧密地遵循更简单的Internet协议套件,该套件通常称为TCP / IP,因为该套件中的基本协议是TCP(传输控制协议)和IP(Internet协议)。

下图说明了OSI和TCP / IP模型如何相互关联:

OSI模型与TCP / IP

  • 我想强调的是,OSI模型是一个参考模型。它不是一个可依据的标准,特别是对于第 5 层到第 7 层。HTTP 也可以被视为表示层协议。它本身不做“人机交互”,而是html代理使用HTTP来传输数据。 (4认同)

小智 -2

超文本传输​​协议 (HTTP) 是Web\xe2\x80\x99s 应用层协议,\nis 是 Web 的核心。它在[RFC 1945] 和 [RFC 2616]中定义中定义。

\n

  • 这些在近五年前已被 RFC 7230 至 7235 废弃 (4认同)
  • 这并不会让你的参考资料变得不那么过时。 (2认同)