我想知道你对这一概念的看法/评论。如果有其他选择的话?这是否可行/有益?
根据我的理解,对于每个http请求,服务器执行一些操作并返回一个http响应。
现在考虑任何场景,在这种情况下,我们希望对服务器上运行的进程有更多的控制。
情景1:http请求发送->服务器开始处理(正在处理的长任务) ->用户关闭浏览器。在这里,进程仍然执行,消耗服务器,http响应将在客户端被忽略。
这里的资源被浪费了。
情景2:http请求发送->服务器开始处理(正在处理中的长任务)
在这里,客户端不知道服务器中运行的进程的状态。客户端必须等到返回http响应为止。
我的想法:在初始的http请求和最终的http响应之间,添加一个特性来发送多个中间http响应,这将携带关于服务器端运行的进程的信息。
解决方案1:http请求发送->服务器开始处理(在进程中的长任务) ->返回进程id作为中间http响应->用户关闭浏览器->发送http请求以使用进程id关闭服务器进程
情况2的解决方案:http请求发送->服务器开始处理(在进程中的长任务) ->返回http响应,并在服务器上运行进程的详细信息,在需要时->执行任何操作
(请评论:)如果我遗漏了什么,请改正。
发布于 2016-06-14 07:17:15
对于“情景2",您应该查看信息响应;请参见https://greenbytes.de/tech/webdav/rfc7231.html#status.1xx。
https://stackoverflow.com/questions/37804178
复制相似问题