表单提交后更正 HTTP 1.1 标头响应代码

pre*_*eyz 4 php header http-1.1

在我的 MVC 框架中,我有时会在表单提交后重定向。假设您将表单发布到 /example/input。

我想在 PHP 中添加正确的标题代码和解释性文本,例如 header('HTTP/1.1 404 Not Found');

1) 您的输入包含错误。您停留在 /example/input 页面并再次获取表单,标记错误等。其中 HTTP 1.1。代码和文本是否适合与此重定向指令一起发送?

2) 你的输入没问题,元素被保存,你被重定向Header('Location: ...')到 /example/success。其中 HTTP 1.1。代码和文本在这里合适吗?

3) PHP 代码由于配置错误、缺少包含文件、数据库连接损坏或其他任何有时出错而引发错误。其中 HTTP 1.1。代码和文本在这里合适吗?

我看过这里的代码:http : //www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 数字 200 显示为 1),而数字 301/302 显示为 2),数字 500 显示为3)。但在所有三种情况下,我发现上面链接上的代码后面的标题/解释并不完全符合我上面描述的场景。我应该选择其他代码/文本吗?

小智 5

案例一和案例二描述了相同情况的变体:您通过 POST 提交表单,服务器处理它并将客户端重定向到成功页面或返回表单。对于这两种情况,“303 See Other”都是正确的响应。这是在服务器正确处理 POST 请求后使用 GET 方法将客户端重定向到资源的正确方法。根据规范:

此方法的存在主要是为了允许 POST 激活脚本的输出将用户代理重定向到选定的资源。

对于案例 3,500 代码通常适用于大多数严重错误。