• 毛毛
    2019-07-08
    重定向和转发的区别和用途,以后章节会讲吗?

    作者回复: 你说的“转发”指什么?是代理吗?如果是的话很快就会讲到。

     3
     6
  • 小美
    2019-08-19
    老师,使用301会比302有较大的性能提升么

    作者回复: 对于单次请求来说是没什么差别的,但浏览器会对301做优化,后续的请求就不会再有跳转动作,所以会快一些。

    
     3
  • 一步
    2019-07-18
    老师,这个301,302, 303重定向要求前后协议一致吗?http不能调转https?

    作者回复: 没有要求,当然可以跳转到https。

    
     2
  • 夏目
    2019-12-03
    1、301用于废弃原地址跳转新地址,302用于暂时无法访问原地址跳转新地址,两者都需要浏览器重新发起一次请求
    2、最开始接触重定向的时候就是用于未登录跳转登录页了

    作者回复: 说的很好。

    
     1
  • Geek_steven_wang
    2019-08-19
    Sso就会用重定向引导用户登录。
    但如果location中没有地址,那浏览器也不知跳转到那,会出错。

    作者回复: 是的。

    
     1
  • 狼的诱惑
    2019-08-12
    老师好,又来请教问题了
    1.状态码301,302是有些客户端遵循http规范默认支持吗?比如浏览器,是不是浏览器解析了返回状态码,解析到301或302然后解析出地响应头/15-1地址然后又发起了一次http请求?能举例那些客户端不支持重定向吗?
    2.我觉得看文章的同时,我们是不是结合着老师提供的实验源码,来了解整个来龙去脉,这样会更容易理解?虽然老师用的lua,但还是可以勉强看懂的

    作者回复:
    1.浏览器为了方便用户访问网页,肯定是要自动跳转到新的uri的。如果你用Python等语言自己实现客户端,那就可以自己定义处理策略了。

    2.实验环境的lua源码都很简单,只有最小的服务器逻辑,如果能参照着看是最好的。

    
     1
  • 信信
    2019-07-24
    文中提到的所有链接都返回200,和访问http://www.chrono.com/一个效果。。。。。。

    作者回复: 建议打开开发者工具,看看uri是如何处理的。

    比如http://www.chrono.com/18-1?dst=/15-1?name=a.json,应该是跳转到15-1。

    
     1
  • 一步
    2019-07-18
    对于ajax请求,网上好多资料说不能处理重定向的请求比如321,302,303等,不能进行跳转,这个是为什么呢?

    作者回复: 一直做后端,对前端的技术不是太了解,很抱歉无法回答你的问题。

    重定向本质上是服务器向客户端发出的一个指示,如何做取决于客户端。

     2
     1
  • 响雨
    2019-07-09
    我这边要做一个web升级,在升级过程中要展示升级进度,就打算301重定向到另一个服务来展示升级的进度

    作者回复: 不错。

     2
     1
  • 业余草
    2019-07-08
    每周1、3、5等着老师更新!

    作者回复: 学习态度端正,值得表扬。

    
     1
  • TerryGoForIt
    2019-07-08
    重定向可以应用于实现负载均衡。

    作者回复: 对,但多了一次请求的成本,比较重。

    
     1
  • 饭饭
    2019-07-08
    老师您好,
    重定向,我一般使用在移动PC互切的情况下会使用,因为使用到了域名会不一样。还有一种情况会在判断浏览器的时候会使用到重定向,比如IE。。。

    但是有一个问题,302是临时重定向,想问一下浏览器在每次访问的时候,都会直接访问原先URI吗?还是会有什么过期时间呢?

    作者回复: 302不改变原uri,所以每次都会找原uri,成本较高,应当尽量少用。

    
     1
  • keep it simple
    2020-01-21
    老师你好,提交几个问题:
    1.在自己的测试中,保存了一个https://bing.com的书签,访问后得到301,location为cn.bing.com,但书签中的地址并没有改变,还是https://bing.com。是否意味着我使用的浏览器没有遵循301的规范?
    2.关于303的使用场景是什么?如果原请求方式就是POST,用于上传一组数据,然后服务器返回303,浏览器端只能用GET,那需要上传的数据就无法被上传了吧?
    3.关于307的描述,言外之意是302可以改变请求里的方法和实体,但服务端只返回location的情况下,浏览器也不会改变请求方法和实体吧?

    作者回复:
    1.这个没有错,书签是一个正确的地址,只是bing.com给了你一个301跳转,是否更新书签是浏览器的问题,这已经不是http协议的问题了,可以更新也可以不更新。

    2.303可以用来防止客户端重复post,比如post一次,后续再多次post都转向一个固定的等待响应页面。

    3.302、307这些都是对客户端的“指示”,表示服务器希望客户端接下来要怎么做最合适,决定权还是在客户端。

    
    
  • Daiver
    2020-01-20
    Sso就用到了重定向

    作者回复: 是single sign on吗。

    
    
  • Wr
    2020-01-05
    1. 301是永久性的,302是暂时性的
    2. 比如一些专网环境,当外部访问时,过路由、防火墙等后都需要重定向跳转到真正需要访问的服务吧

    作者回复:
    1.正确。

    2.不太对。路由、防火墙是信息过滤设备,是数据的中转站,只负责转发数据。而301/302的重定向跳转是发生在客户端的,由服务器通知客户端跳转到新的uri。

    
    
  • Geek_Rafe
    2019-10-25
    "虽然 301/302 报文很小,但大量的跳转对服务器的影响也是不可忽视的",302的话不是客户端去重新开了一个链接链接到站外吗,对于服务器来讲,链接并没有增加,应该没有什么影响吧?还请老师解惑

    作者回复: 301/302的跳转有很多也是在本站内跳转,也就是站内重定向。

     1
    
  • 黄斌
    2019-08-17
    老师,在php里用header函数跳转算重定向么?

    作者回复: 我对php不熟,查了一下,header函数只是发送http响应头,如果用状态码301、302,那就是重定向跳转。

    
    
  • 彧豪
    2019-07-21
    重定向的使用场景,比如之前服务端接口修正,然后app同学那边没法一下发包,但是又需要调整请求的接口,此时就让运维同学配了一个301

    作者回复: 这个时候是否用302更好一些?

     1
    
  • 亚洲舞王.尼古拉斯赵...
    2019-07-15
    老师,现在h5很流行,我在手机浏览器上输入了一个网站的pc端url,他会给我转到h5的页面(如:m.xxx.com),这个也是重定向的应用吗?如果是,这是302吗?如果每次都这样岂不是会消耗大量资源?

    作者回复: 可以看一下浏览器里的地址栏,是否前后不一样,如果不同那就是重定向跳转。

    具体是301还是302只能用开发者工具看,跳转多了一次请求响应,增加了客户端的延迟,对于服务器倒是没什么影响。

     1
    
  • 修行修心
    2019-07-10
    老师,我理解这两个都是修改服务端返回的状态来实现重定向,只不过是代表的方式不同,另外临时重定向将来还需要修改服务端变回原方式,而永久重定向基本可以不再改动,是这个意思吗

    作者回复: 这两个状态码都是用来通知浏览器uri情况的,告知uri表示的资源的状态。

    你理解的基本正确。

    
    
我们在线,来聊聊吧