我正在使用 spring MVC 框架开发一个网络应用程序。现在我想知道是否为每个客户端请求关闭了连接。我的意思是,如果我有 1000 个用户登录我的站点,我会打开 1000 个连接吗?如果是这样,有没有办法让客户端和服务器在收到请求后无需创建连接或关闭它们就可以进行通信? 对于这个问题我很抱歉,但是我开始使用这个框架并且我在安装框架时没有设置任何相关的东西。
最佳答案
Web 请求到达网络服务器,获取 HTML 和 CSS 文件和图片等资源,然后再次关闭连接。你不会有永久的联系。这意味着如果 1000 个用户将同时加载一个网站,您将有 1000 个并发请求。如果他们在 5 分钟内的不同时间加载站点,您将不会有并发请求,或者至少一次不会有并发请求。 Web 请求通常在几到 300 毫秒内得到处理。这与打开永久数据库连接或类似的东西不同。登录也将通过 Web 请求处理,并在成功登录后创建 session 。 session 可以用不同的方式处理。您可以在此处阅读有关 session 的更多信息:http://en.wikipedia.org/wiki/Session_%28computer_science%29 .您还应该阅读 Spring Security。
所以回答你的问题,不,当 1000 个用户登录时,你不会有 1000 个打开的连接。但每次用户加载页面时,您都会有一个连接。
您可以通过使用例如基于 Javascript 的前端来最小化与服务器的连接,该前端负责客户端的大部分任务并且仅通过 REST 与服务器通信。
我希望这对您有所帮助并回答您的问题。
亲切的问候, 克里斯
关于java - spring MVC 服务器是否为请求数据创建连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15512616/