重定向(redirect)将用户从一个URL路由到另一个URL。
重定向的类型:当web服务器向浏览器返回一个重定向时,响应中就会包含一个3xx的状态码,表示用户代理必须进一步操作才能完成请求,下面是几种状态码:
• 300 Multiple Choices (based on Content-Type)
• 301 Moved Permanently
• 302 Moved Temporarily (a.k.a. Found)
• 303 See Other (clarification of 302)
• 304 Not Modified
• 305 Use Proxy
• 306 (no longer used)
• 307 Temporary Redirect (clarification of 302)
304并不是真的重定向,它用来响应GET请求,避免已经存在于缓存中的数据再次被下载。306已被弃用
301和302用的最多,303和307是在HTTP规范1.1中添加的,用来澄清对302的使用,但几乎没人使用303和307,绝大部分还在使用302.下面是一个301的例子:
HTTP/1.1 301 Moved Permanently
Location: http://www.baidu.com
Content-Type: text/html
浏览器自动将用户重定向到Location指定的url。301和302响应不会被缓冲,除非有Express或cache-contrl头。还有其他方法可以自动将用户重定向到其他url,例如:
<meta http-equiv="refresh" content="0; url=http
重定向的类型:当web服务器向浏览器返回一个重定向时,响应中就会包含一个3xx的状态码,表示用户代理必须进一步操作才能完成请求,下面是几种状态码:
• 300 Multiple Choices (based on Content-Type)
• 301 Moved Permanently
• 302 Moved Temporarily (a.k.a. Found)
• 303 See Other (clarification of 302)
• 304 Not Modified
• 305 Use Proxy
• 306 (no longer used)
• 307 Temporary Redirect (clarification of 302)
304并不是真的重定向,它用来响应GET请求,避免已经存在于缓存中的数据再次被下载。306已被弃用
301和302用的最多,303和307是在HTTP规范1.1中添加的,用来澄清对302的使用,但几乎没人使用303和307,绝大部分还在使用302.下面是一个301的例子:
HTTP/1.1 301 Moved Permanently
Location: http://www.baidu.com
Content-Type: text/html
浏览器自动将用户重定向到Location指定的url。301和302响应不会被缓冲,除非有Express或cache-contrl头。还有其他方法可以自动将用户重定向到其他url,例如:
<meta http-equiv="refresh" content="0; url=http