为什么MVC无国籍 - 如何解释?

now*_*ed. 5 c# asp.net asp.net-mvc asp.net-mvc-4

同时向我的学生解释ASP.NET MVC的概念

MVC是无国籍的.它建立在另一个无状态协议之上 - HTTP和HTTPS

但是一名学生打断了他的话,

你告诉MVC是无国籍的

无状态协议从不关心响应是否从服务器返回.但是,在ASP.NET MVC框架中,您发出请求并等待响应.由于您等待响应,因此应将其称为有状态服务.你怎么称它为无国籍服务呢?

我真的被困了,想知道该问题的答案.

有任何想法吗?

Cod*_*ter 20

MVC不是无状态的,HTTP是.

HTTP无国籍并不意味着它是火和忘记.客户端确实等待响应.在两个连续的请求没有任何关系的意义上,它是无国籍的.

可以使用会话模拟状态,例如使用cookie.

  • HTTP服务器是无状态的,HTTP客户端从来没有。 (2认同)

use*_*740 7

问题中的断言,其他学生声称错了.像HTTP这样的无状态协议确实关心它是否得到(或永远不会得到)响应!

[无状态协议]将每个请求视为与任何先前请求无关的独立事务,以便通信由独立的请求和响应组成.

当然,MVC甚至不是协议......但可以扩展相同的概念.它是"无状态的",因为所有信息都在请求和响应中编码为"对".在实践中,大多数用法并非真正无国籍.