为什么有转发和重定向的区别

为什么有普通转发和重定向的区别呢,带着这个问题思考:

好处

先说结论,重定向可以带来的好处:

  1.   网站需要用户先登录,才能访问主页,如知乎。不然一直在登录页面,如果没有这个重定向,那么手动改URL就可以访问其他不容易访问到的“资源”(PS:这个亲自我实验过,访问奥克兰大学网站时)
  2. 在登录页面时,如果使用了get和post请求(即先get后post格式,get是用户进入登录页面,而post是用户提交登录数据,如用户名,邮箱,密码等等)进行登录(登录逻辑一般为检查数据,查询数据库,正确则进入首页),而如果没有使用重定向,重新刷新浏览器,会看到上方弹出警告(要求在再次提交表单之前进行确认),原因是最后一次是post请求,刷新会在次提交数据(在登录页面提交的数据),我们不希望这个发生。所以现在的网站一般登录逻辑是get/重定向/post格式。ps:在学习《Flask web 开发》时了解到这个点。
  3.  普通请求/转发一般只能访问站内资源,而重定向可以访问其他站点资源(自己站点资源也可)。
  4. 一定程度上防止网络爬虫。网站可以重定向多次恶心爬虫,特别防止无头浏览器或者模拟浏览器时。

目前只能理解到4个点,后续知道其他好处继续补充。。。。。。。。。。。。。

普通转发和重定向的区别

1 普通转发对于浏览器这个’Boss‘而言,只是一次请求与响应,中间做了多少事情,’Boss‘不关心,老板很闲。

2 重定向对浏览器这个’Boss‘而言,就像私人秘书一样,做什么事情都需要通过’Boss‘签字,秘书会经常和老板汇报,所以至少需要2次请求与响应,老板很忙。

猜你喜欢

转载自blog.csdn.net/qq_39463175/article/details/111502596