在web应用程序中保持资源处于活动状态


Keeping a resource active in a web application

我正在创建一个IMAP/POP3 web客户端。最初我计划使用imap库在PHP中完成这项工作,但我担心效率。

当收件箱页面加载时,PHP脚本连接并验证imap服务器,然后获取最新电子邮件的概述。页面加载完成后,php脚本结束,与imap服务器的连接丢失。

这是一个问题,因为用户请求的任何新操作(如读取或删除电子邮件)都必须重新通过连接/身份验证过程。这大大降低了速度。

是否有任何方法可以在页面加载期间保留与imap服务器的连接?理想情况下,我想用PHP来做这件事,但我对使用其他技术持开放态度。

如果我在PHP中实现这一点,我会建立一个基于凭据的连接,该连接在服务器上保留一段时间(例如30分钟),每当客户端向服务器发送请求时,服务器都会根据用户名或其他凭据查找连接并使用该连接。如果时间用完而用户没有发出请求,您可以为该请求创建一个新的连接。