假设我有一个简单的 ASP.NET MVC 应用程序,其索引视图仅显示一些静态数据。
考虑到 Web 是无状态的,当浏览器请求这个 index.cshtml 时,会发出一个 HTTP Get 请求,服务器将页面内容发送给客户端。
在这种情况下,是否有一个称为连接的实体?如果是这样,我们什么时候可以说建立了连接?
希望我的问题很清楚。
在调用 MVC 应用程序之前,客户端(浏览器)和底层 Web 服务器 (IIS) 之间会建立连接。
如果您在 Web 应用程序中收到请求,则表明 TCP 连接已经建立,并且 HTTP 请求已通过 TCP 发送到服务器。使用 keep-alive 语义,多个请求可以使用同一个连接,当然,甚至可以为同一个请求调用多个操作。
所以基本上,连接的建立对于 Web 应用程序指示或跟踪不是特别有用,如果这是你想要做的。
HTTP 协议基于 TCP 协议。在发出 GET 请求之前,必须建立 TCP 连接。
“连接已关闭”发生在 TCP 连接关闭时,通常是在单个请求/响应交互之后。
可以使用 Keep-Alive 使连接保持打开状态。
连接已建立到 IIS 服务器/进程,然后转发到 .NET,因此 IIS 收到它的那一刻,它就“建立”了