您的位置:首页 > 其它

重定向和请求转发的深刻理解

2008-10-16 11:09 141 查看
首先:重定向,其实是两次request

第一次,客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,
(浏览器中所显示的URL会变成新页面的URL)而且历史的回退按钮也亮了。
所以代码也就是response.sendRedirect(.....)

转发是服务器内部把对一个request/response的处理权,移交给另外一个
对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D... ( 而当使用转发时,该URL会保持不变)
(forward方法)

举个例子:

假设你在学校要办学生证

重定向:你找你们班长(request),班长说:“这个事情不是我能办的,你应该去找辅导员”(response),然后,你就去找辅导员办(再一次request 且URL变了),辅导员帮你办好( response你)。

转发:你找你们班长(request),班长接到请求之后,知道这个事情其实是辅导员来办的,但是你们班长比较好,没有叫你去找辅导员,而是叫你等会,他去辅导员那办好了在给你( response你 所以URL地址没有变)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: