
1 shiji 2016 年 6 月 21 日 via Android 这通常是转发。 以后自己打开浏览器 F12 切到网络,然后输入地址回车,返回的第一个状态码是 3XX (比如 301 302 之类的)就是重定向。否则就是 rewrite 或者什么也不是 |
2 bdbai 2016 年 6 月 21 日 via Android 转发通常是让 URL 更好看一些,比如 /blog/post/22 -> /blog/post.php?id=22 转发发生在服务器收到请求后。客户端不知道实际地址。 HTTP 重定向在客户端是可见的。比如用户登录成功后服务器执行 header('Location: /welcome'); 客户端收到回应后会立即再往 /welcome 这里发一个请求,地址栏上可以观察到。 你举的例子只是通的 GET 参数传递,没有涉及到转发或重定向。 |
3 luckycat 2016 年 6 月 22 日 URL 转发 和 URL 重定向没有区别。都是服务器向客户端返回 HTTP 301 或 HTTP 302 响应而已。 百度搜索技术问题最令人无语的地方就是,总会有一堆自己都没弄明白怎么回事的人过来教你。让你怀疑自己智商有问题。 |
4 wingtatlee 2016 年 6 月 22 日 你所的和重定向是 Forward 和 Redirect ?分是很大的。 Redirect - 是使用器行重定向。 It sends an http response with code 3xx ,然後器出另外的 request 去到新的面。 Forward - 是部的操作。器是不知道面生了什改,因此 URI 是不生改的,你是在原同一面。 理上, Forward 更快,因器有到操作,是原的 URL 。 Redirect 相慢,器到操作中,你得到新的 URL 。 你面出 index.php?Id=22 ,到底是 Forward 是 Redirect 是乎 server side 最後如何行你的 request 。而使用哪一是需要根不同的 scenario 。 |
5 jatesun 2016 年 6 月 22 日 via iPhone 这种问题随手谷歌一下,任何一个结果都比这要详细仔细得多→_→ |
6 466934322 OP |
7 vjnjc 2016 年 6 月 22 日 重定向是会产生 2 个 http 请求。 转发是 1 个 http 请求(在服务端)被 route 到了另外个 controller 处理逻辑。 |
8 shiji 2016 年 6 月 22 日 via Android @466934322 全栈的大牛。。。。 不管重定向还是 rewrite ,都不能防止表单重复提交吧?重定向点几次后退不就可以重新提交了吗? 而且把这个归为安全问题貌似太勉强了,应该是概念问题。 是有哪本脑残教材或者视频把重定向和转发拿出来比较了么?感觉几天前还有人在 sf 上问几乎一样的问题。 |
9 misaka19000 2016 年 6 月 22 日 重定向:基于 HTTP 协议 转发:程序内部的数据转移 |
10 bdbai 2016 年 6 月 22 日 via Android @466934322 这大牛一定不是全栈...你可以找个 PHP 框架,看看它的重定向和 URL 路由分别是怎么用的,自己感受一下。 |
11 yukar 2016 年 6 月 24 日 :敲之後直接把人你找 重定向:敲後告你那人真住址 |