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