给产品经理讲技术丨什么是HTTP302跳转?
站长资源 2018-10-12 18:50www.dzhlxh.cnseo优化
Http 302对应生活中的真实例子,可以类比手机所对应的呼叫转移功能,这样打进A手机的电话,均转移到B手机接听。
302状态码应用的典型场景是服务器页面路径的重新规划,比如一个portal页面,换了新的,但是老的地址还有很多用户在使用,这样可以对老域名配置302跳转到新域名地址,保证服务的延续。另外对于一些客户端预埋的Url链接,免不了老版本地址失效与更改,将老地址配置302跳转到新地址,这样就能够全面兼容所有客户端版本。
对302有一个感性全面认知,在浏览器输入taobao.com,进行抓包,如下图,访问taobao.com后,服务器吐回状态码302 Found,然后Locatioin字段标识浏览器应该跳转到了www.taobao.com,从而打开了淘宝网站。对应于不同域名指向同一个地址的情况,大多是这么处理的。
给产品经理讲技术丨什么是HTTP 302跳转?
我们先从网址说起,再说浏览器和服务器之间的应答状态码,再谈中302的作用以及这个标准的http状态码能够解决什么问题。
在互联网世界里面,已经存在数亿量级的,如何管理及标识每一个以及方便浏览器寻址到此网页并展示呢?其中,每个网页都对应着一个URL(Uniform ResourceLocation)地址,也叫网址,类似于一个真实世界中的门牌地址一样,真实世界中标识了物理地址(如北京市朝阳区某小区张大妈家的门牌号)。同样道理,网址标识了一个web页面所在的互联网里面的真实地址(这个页面处于www.baidu.com/file/1.html,处于baidu服务器file路径下的1这个文件)。
当你用浏览器点击一个页面链接的时候,随即你看到了一个新的网页展示在浏览器内,在这个过程中,浏览器其实是在不断的接收服务器端的应答(这个应答是服务器端的状态,所以返回码叫状态码),从而来决策下一步来做什么(尽管大部分情况下,你毫无感知的就打开了你想要的页面),这个应答即状态码(status code),在http协议里面,以三位数标识,共分为五类:分别为1××,2××,3××,4××,5××。一些常用状态码如下所示:
给产品经理讲技术丨什么是HTTP 302跳转?
301和302表示重定向,301表示这个网页已经永久的由服务器的A路径下移动到路径B下,而302表示临时移动到B路径下,对应到Url地址也即http://baidu.com/file/A/1.html到http://baidu.com/file/B/1.html,当浏览器访问前面一个地址的时候,这个时候服务器会告知浏览器,请到B路径下获取这个文件,随后浏览器重新发起请求,请求B路径下的页面,经过渲染,呈现给用户,例如淘宝的例子,请求taobao.com,收到302,从而浏览器再次请求www.taobao.com获得页面内容。