首页 > 解决方案 > Apache 是否可以在运行 PHP/Perl 脚本时向客户端发送“暂停”或“等待”响应?

问题描述

当 Apache 服务器收到一个 POST 请求时,我想立即发回一个响应,说明客户端应该等待而不发送任何内容。

同时客户端的请求将被传递给脚本(PHP 或 Perl)。然后脚本将向客户端发送回响应。

这可能吗?我知道 Apache 可以发送 4xx 响应标头,以便客户端停止发送。但是我想在客户端停止发送时运行一个脚本,然后让客户端重定向到某个地方..

标签: apachehttp

解决方案


如果您想要完全 REST-ful 并使用 HTTP 动词(GET、POST、PUT、DELETE 等)和状态代码,则有一些 HTTP 状态代码可能有用

https://www.restapitutorial.com/httpstatuscodes.html

特别是对于我将其解释为您的用例的内容,状态代码202 Accepted可能适合您的使用:

请求已被接受处理,但处理尚未完成。该请求最终可能会或可能不会被执行,因为在实际进行处理时它可能会被禁止。无法从诸如此类的异步操作中重新发送状态代码。

202 响应是故意不置可否的。它的目的是允许服务器接受对其他进程的请求(可能是一个每天只运行一次的面向批处理的进程),而不需要用户代理与服务器的连接持续到进程完成。与此响应一起返回的实体应该包括请求当前状态的指示以及指向状态监视器的指针或用户可以期望何时完成请求的一些估计。


推荐阅读