PHP–Redirect和forward的区别

这可能是很简单的东西,主要以前都没有学过,所以现在看见了,决定有帮助就记下来.

Redirect重定向:服务器将页面A处理完后,将应答(response)发给客户端,然后再从客户端发送对页面B的请求.
Forward转送:只是在服务器内进行页面A到页面B的转向.

区别就在于:客户端对页面B进行了请求.

重定向进行了2次请求,如果当访问用户比较多的时候,那么用户的第2次请求就会放到请求队列的最后,那么用户可能会较长等待.而转送就不会出现这样的问题.

那么是不是我们都用传送呢?或者说在什么情况下使用转送,什么情况下使用重定向呢?

  1. 转送一般限制在同一个应用程序中的页面跳转,如果要跳转到外部网站的话,那么必须得使用重定向.
  2. 转送处理过程中,目的页面能够利用上一个页面的请求,也就是两个页面的请求和合在一起的,所以多个action能够相互联动(action是Zend里面Controller的一个动作).如果只是简单的页面跳转或者不想页面请求混淆,推荐使用重定向.

自己的理解,暂时只有这么多.

posted @ 2012-02-09 20:57  HuangJacky  阅读(10025)  评论(1编辑  收藏  举报
AdminLogin