2016-06-14 58 views
0

我想知道您对此概念的看法/评论。如果有替代品可用?如果这是可行的/有益的?想法:使用单个http请求生成多个http响应

根据我的理解,对于每个http请求,服务器执行一些操作并发送一个http响应。

现在考虑一下我们希望对服务器上运行的进程拥有更多控制权的任何场景。

情况1:http请求发送 - >服务器启动处理(正在处理的长时间任务) - >用户关闭浏览器。 这里进程仍然执行,消耗服务器和http响应将在客户端被忽略。

这里资源浪费了。

情况2:HTTP请求发送 - >服务器开始处理(在处理长期的任务)

在这里,客户不知道在服务器上运行的进程的状态。 客户端必须等到它收到http响应。

我的想法:在最初的http请求和最终的http响应之间,添加一个功能来发送多个中间http响应,它将携带有关服务器端运行进程的信息。

解情况1:http请求发送 - >服务器启动处理(在过程漫长任务) - > [返回进程id作为中间体http响应] - >用户关闭浏览器 - > [发送>服务器启动处理(在过程漫长任务) - - >与所述过程在运行的细节[返回HTTP响应HTTP请求发送:http请求使用所述进程id]

解情况2关闭服务器进程服务器间隔] - > [如果需要,执行任何操作]

请评论:)并纠正我是否缺少任何东西。

+0

这通常是通过返回202接受与一个'位置'标题告诉你去哪里寻找结果。如果您想要进行更新,请使用WebSockets。定义你自己的HTTP可能不是一个有效的路线,而且SO无法真正帮助你完成这个过程。我们不负责协议。 – jonrsharpe

+0

这听起来干净简单。去执行它。 –

+0

@RolandIllig当我们不明白任务的重要性时,我认为把OP放在一个“干干净净”的事情上并不是特别有建设性。 – jonrsharpe

回答