假设我在 www.example.com/registration.php 中有一个表单,表单提交到 www.example.com/process.php 并重定向到 www.example.com/welcome.php。因此,当我单击提交时,会生成一个发布响应并将其发送到 process.php。从那里发送重定向代码让我们说 301(永久)作为位置 www.example.com/welcome.php 的响应。我的问题 1) 在维基百科中它说
如果响应 GET 或 HEAD 以外的任何类型的请求而收到 301(或 302 中的相同情况,对于 303,307)状态码,客户端必须在重定向之前询问用户
所以如果我提交,我应该被要求确认,但这永远不会发生它直接进入welcome.php页面
2) 301-permanent 和 302(also 303, 307) - 用于上述表单提交场景时的临时重定向有什么区别
3)我不能真正从以下得到它
HTTP 响应状态代码 301 Moved Permanently 用于永久重定向,这意味着使用收到 301 Moved Permanently 响应的 URL 的当前链接或记录应更新为响应的 Location 字段中提供的新 URL。此状态代码应与位置标头一起使用。RFC 2616 规定:如果客户端具有链接编辑功能,它应该更新对请求 URI 的所有引用。
更新所有指向新 uri 的链接与浏览器(用户代理)有关。是否仅用于搜索引擎索引
最后
搜索引擎不索引临时重定向,永久重定向将当前请求 url 从重定向响应替换为新 url。搜索引擎是否也考虑了上述提交,如果我在 process.php 中给出 301 重定向响应以重定向到welcome.php,那么registration.php 将被搜索引擎索引数据库中的welcome.php 替换