我正在构建一个REST风格的后端Web服务,它将预生成的数据blob提供给前端站点。 blob本身并不大,并且可以在单个HTTP响应/请求中轻松满足。后端是用PHP编写的。正确处理长时间运行的HTTP进程
它一切正常。困难在于blob再生,当有许多斑点时需要更长的时间。重新生成可能需要比(单独托管的)服务器上的响应超时更长的时间。
我想进行如下操作: - 发送的初始请求是“再生所有斑点” - 处理开始时,没有响应,直到所有已完成(HTTP 200,所有没说的)或I达到一个内部时间限制 - 如果达到了时间限制,我想发送一个响应,指出处理是不完整的(哪个HTTP状态是合适的,因为处理成功,但不完整? - 206不适用没有范围标题... ),以便客户可以请求继续。我可以想象返回的数据表明“请继续”请求应该是什么(最好在链接头中完成?) - 客户端然后请求继续,并且循环继续,直到信号完全成功为止。
什么是在HTTP客户端 - 服务器交换中发信号的最佳方式?我准备写一小段Javascript来处理客户端循环。
感谢您的任何好点子!
另请参阅http://stackoverflow.com/questions/1434647/using-the-http-range-header-with-a-range-specifier-other-than-bytes和FloO链接在StackOverflow博客圈 –