HTTP中的301、302、303、307、308
结论 3XX开头的HTTP状态码都表示重定向的响应。 301、308是永久重定向;302、303、307是临时重定向。 301、302是http 1.0的内容,303、307、308是http1.1的内容。 301和302本来在规范中是不允许重定向时改变请求method的(将POST改为GET),实际许多浏览器实现的时候允许重定向时改变请求method。 303的出现是允许重定向时改变请求method。此外303响应禁止被缓存。307、308则不允许重定向时改变请求method。 RFC 7231规定: 301 Moved Permanently,永久重定向 302 Found 303 See Other 307 Temporary Redirect RFC 7538规定: 308 Permanent Redirect 永久重定向 301、302搜索引擎处理区别 301表示搜索引擎在抓去新内容的同时,将旧的网址替换为重定向之后的网址; 302表示旧地址的资源仍存在,重定向时临时从A地址跳转到B地址,搜索引擎会抓取新的内容,并继续保存旧的网址。 临时重定向:302、303与307 结论 302允许各种各样的重定向,一般都实现为GET到GET重定向,但是不能确保POST会重定向为POST。 303只允许任意请求到GET的重定向。 307和302一样,但不允许POST到GET的重定向。