【HTTP】HTTP码的300段
来源:互联网 发布:起点听书软件 编辑:程序博客网 时间:2024/05/16 08:39
【是这样的】
本来在看http转https导致的性能问题,看到了外部转302和内部转307,然后300段只记得304是not modified(协商缓存)。于是去翻了下http指南……然而……302,303,307特么都是什么鬼TAT!
【于是我参考了RFC和前人的肩膀……】
三者的理(区)解(别)
- 302是http1.0时设定的。用于访问的资源被临时转移了,要重定向的时候使用(301是资源永久转移的时候使用)。跳转的时候,对于get,head等幂等的请求,直接返回301,在报文的location字段中指定要跳转的地址。但是对于post这样的非幂等的请求,要提示用户是否对新的地址重新post(因为环境可能改变了)。然而,大部分的浏览器都直接把这里的post请求转换成了get请求(这时候就不用请求用户许可了)。
- 由于http1.0中302的不规范性,在http1.1中对浏览器行为进行了修正,严格了浏览器的操作,于是有了303和307.
- 两者和302的不同在于,303相当于之前大部分浏览器的操作,对于post请求,直接转换成get请求了。307则是之前302的理想操作:对于post请求,询问是否向新的地址再次发送post请求(是否转向)
- 还有一个不是太要紧的……?302和307的请求按照服务器的要求考虑是否缓存,但是303的请求一定不能被缓存,但是重定向之后就没有这种强制要求啦。
【吐槽】
关于http权威指南……我相信一定不是书写得差……一定是翻译问题QUQ,简直不能看,刚看的时候一脸懵逼0 0……
然后其实我想放点RFC原文证明我也是认真看过文档的人(迷之微笑),然而貌似并没有什么好放出来的……
参考:
- http1.1的RFC
- 迷思巨人的肩膀
0 0
- 【HTTP】HTTP码的300段
- [HTTP]HTTP协议的状态码
- [HTTP]HTTP协议的状态码
- HTTP的错误码
- HTTP的状态码
- HTTP的状态码
- Http 的状态码
- http的状态码
- http的状态码
- HTTP的状态码
- HTTP-HTTP状态码
- 【HTTP】HTTP状态码
- HTTP:HTTP状态码
- http
- http
- HTTP
- HTTP
- HTTP
- 【HTTP】HTTPS的一点性能优化
- C#不用ArcEngine,生成Shp文件(一)---------shapefile数据说明
- MD5加密
- 文章收藏
- QUICK START GUIDE: GEAR VR + UNITY
- 【HTTP】HTTP码的300段
- getparameter和getparametervalues的区别
- ubuntu问题总结
- linux mount remote directory
- Go语言编程(十一)之类型系统
- 大端与小端存储模式详解
- 卸载中国联通网络测速插件的方法
- angularJS-控制器
- 屏幕适配