HTTP状态码: 301/302/303/307

对于30一、302的location中包含的重定向url,若是请求method不是GET或者HEAD,那么浏览器是禁止自动重定向的,除非获得用户的确认,由于POST等请求是非冥等的(也就是再次请求时服务器的资源可能已经发生了变化)html

虽然rfc明确了上述的规定,可是不少的浏览器不遵照这条规定,不管原来的请求方法是什么都会自动用GET方法重定向到location指定的url。就是说现存的不少浏览器在遇到POST请求返回30一、302状态码的时候自动用GET请求location中的url,无需用户确认。 浏览器

HTTP 1.1中新增了30三、307状态码,用来明确服务器期待客户端进行何种反应。 服务器

303状态码其实就是上面30一、302状态码的”不合法”动做,指示客户端能够自动用GET方法重定向请求location中的url,无需用户确认。也就是把前面30一、302状态码的处理动做”合法化”了。 url

307状态码就是30一、302本来须要遵照的规定,除GET、HEAD方法外,其余的请求方法必须等客户确认才能跳转。 .net

30三、307其实就是把原来30一、302不”合法”的处理动做给”合法化”,由于发现你们都不太遵照,因此干脆就增长一条规定。htm

转载:
http://m.blog.csdn.net/articl...
http://www.cnblogs.com/cswuyg...blog

相关文章
相关标签/搜索