`

每天一道面试题-转发和重定向的区别

阅读更多

转发和重定向,这是项目开发中的两种跳转方式,其差异也经常被拿来作为面试题。

首先,转发是一次请求,就好比你到医院办理相关手续,然后这个窗口可能不能直接搞定,但是他经过内部协调处理,最终还是通过这个窗口给你反馈最终的结果,所以对于你来说,只需要跟一个窗口交互即可。

而重定向,是多次请求,还是上面的例子,这个窗口搞不定你的需求,然后他会告诉你去找另一个窗口(服务器内部)或者去另一家医院办理(跳出当前服务器),所以你需要跑多个窗口,才能完成最终的交互。

所以,转发和重定向就是这个差异。

面试题1:转发和重定向哪种方式可以传递数据?

这个问题的答案应该分情况来回答,

首先,如果数据存储在request对象中,由于转发是一次请求,所以数据可以传递;而重定向是多次请求,所以已经是不同的请求,存储在request对象中的数据自然无法传递;

而如果数据存储在session对象中,则可以,因为session代表着客户端跟服务器端的一次会话,包含多次请求和响应的过程,所以不管是转发还是重定向,数据都可以得到传递;

问题2:如果想跳转到百度首页,哪种方式可以实现?

比如是重定向,因为转发的范围是在服务器内部,而重定向可以跳转到服务器以外的资源。

--------------------- 本文来自 互联网十年老兵- 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/happy_coding_life/article/details/80588049?utm_source=copy 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics