apache - Apache 是否可以在运行 PHP/Perl 脚本时向客户端发送“暂停”或“等待”响应?
问题描述
当 Apache 服务器收到一个 POST 请求时,我想立即发回一个响应,说明客户端应该等待而不发送任何内容。
同时客户端的请求将被传递给脚本(PHP 或 Perl)。然后脚本将向客户端发送回响应。
这可能吗?我知道 Apache 可以发送 4xx 响应标头,以便客户端停止发送。但是我想在客户端停止发送时运行一个脚本,然后让客户端重定向到某个地方..
解决方案
如果您想要完全 REST-ful 并使用 HTTP 动词(GET、POST、PUT、DELETE 等)和状态代码,则有一些 HTTP 状态代码可能有用
https://www.restapitutorial.com/httpstatuscodes.html
特别是对于我将其解释为您的用例的内容,状态代码202 Accepted
可能适合您的使用:
请求已被接受处理,但处理尚未完成。该请求最终可能会或可能不会被执行,因为在实际进行处理时它可能会被禁止。无法从诸如此类的异步操作中重新发送状态代码。
202 响应是故意不置可否的。它的目的是允许服务器接受对其他进程的请求(可能是一个每天只运行一次的面向批处理的进程),而不需要用户代理与服务器的连接持续到进程完成。与此响应一起返回的实体应该包括请求当前状态的指示以及指向状态监视器的指针或用户可以期望何时完成请求的一些估计。
推荐阅读
- c++ - C++ - 构造函数中的异常
- excel - 端口 25 被阻止尝试从 Excel VBA 发送 CDO 电子邮件
- angular - 角度等待不等待函数完成
- java - 如何比较 @ElementCollection 和 Spring JPA 中的设置
- android - 从相机捕获图像时,在一加设备中发现 ImageFile 为空
- maven - 如何在这个 pom 中读取这个 google 组件依赖项?
- solr - 在 SOLR 中将突出显示与其余响应合并
- c# - 将推送通知托管到 Android 和 IOS 的离线服务器
- mongodb - 如何在使用 mongo shell 获取匹配的父母时删除子条目
- ios - 如何在 Azure 管道中运行 iOS 移动应用程序的 XCTest(UI 测试用例)?