- 301重定向是永久的重定向,搜索引擎在抓取新的内容的同时也将旧的网址替换为了重定向之后的网址,一般用在网站http升级为https时用。
比如,我们访问 http://www.baidu.com 会跳转到 https://www.baidu.com,发送请求之后,就会返回301状态码,然后返回一个location,提示新的地址,浏览器就会拿着这个新的地址去访问。 虽然现实大多数都是用307,这主要时因为HSTS。
- 302重定向只是暂时的重定向,用来做临时跳转,搜索引擎会抓取新的内容而保留旧的地址,因为服务器返回302,所以,搜索引擎认为新的网址是暂时的。
比如未登陆的用户访问用户中心重定向到登录页面。
- 307 Temporary Redirect,307的定义实际上和302是一致的,唯一区别在于,307状态码不允许浏览器将原本POST的请求重定向到GET请求上。
- 308 Permanent Redirect,308与301定义一致,唯一的区别在于,308状态码不允许浏览器将原本为POST的请求重顶到GET请求上
- 303 See Other,303 通常用于将POST请求重定向到GET请求。例如上传了一份个人信息,服务器返回303响应,将你导向一个上传成功页面。