http-301 302 303 307
来源:互联网 发布:天柱行知中学 编辑:程序博客网 时间:2024/06/06 16:41
需求:
A、B 两个网站,单独登录这两个网站都是需要输入用户名和密码的。现在登录A网站后,点击一个链接link,可以直接进入B网站内部,就需要实现免登功能。
基本实现就是点击link的时候,服务器端返回一个302状态码的response,然后浏览器去请求response中的location,实现一个跳转。(深入的验证授信访问过程,没有细问后端同学,我的focus是在302 303 状态码的含义,查了一下文档,我以为后端实现的是303。。结果是302)
301 是永久重定向。告诉客户端以后应从新地址访问.
302(found) 和303 都是临时重定向
status-code: 302
http-RFC文档说明:
302是http1.0的状态码,文档要求对于浏览器发起的非head,get请求,服务端返回302的时候,浏览器不能自动的向新的uri发起post请求,需要用户二次确认之后才能发起post请求。否则不能请求新的uri,当然对于head、get请求是可以自动去请求新的uri的。
在http1.1中,302的说明和http1.0的时候是一样的。
浏览器处理:
实际上,浏览器对于302状态码的处理与文档是不一样。浏览器对于post请求,获得302状态码时,自动将第二次的post请求变为get请求,请求的uri就是上一次请求的location。
status-code: 303、307
http-RFC文档说明:
303是http1.1新增的状态码.当浏览器收到303的时候,可以自动把第二次的post请求变为get请求,请求的uri是上一次的location。
307也是http1.1新增的状态码。当浏览器收到307的时候,需要等用户确认,如果没有确认,就不能发起第二次post请求
浏览器处理:
实际上,目前很少有303 307的响应,更多的是302,很多服务端把本该303的响应都变成了302.主要是为了兼容http1.1之前的浏览器,浏览器对302的处理也和以前一样–把第二次的post请求变为get请求。
- http-301 302 303 307
- 【HTTP】http重定向301/302/303/307
- HTTP 302, 303, 307
- HTTP 的重定向301,302,303,307
- HTTP 的重定向301,302,303,307(转)
- HTTP 的重定向301,302,303,307(转)
- http的302,303和307
- http的302,303和307
- HTTP状态码302、303和307
- HTTP状态码302、303、307区别
- HTTP状态码302、303和307
- Http协议之301,302和307
- HTTP 301,302 跳转
- HTTP-301-302-304
- http的状态码 300-301-302-303-304-305-307
- http的重定向状态码302,303,307
- HTTP状态码302、303和307的故事
- HTTP的303、307状态码
- ARM Linux学习,从宿主机传程序到ARM——环境搭建1
- 判断浏览器的内核及版本号方法汇总
- 磁粉检测技术
- 不断积累 勇闯高峰
- 安装LR11 时,安装Microsoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息
- http-301 302 303 307
- 生成验证码
- iOS 环信集成(五) 加载会话列表
- 【Leet Code】59. Spiral Matrix II---Medium
- Python程序的性能分析指南
- 百度自动更新SDK的’requiresFadingEdge’错误
- c++临界区的使用
- ios开发 -Alcatraz第三方工具-快速管理Xcode中的代码(快速注释,对齐)
- Android基础:Activity的四种启动模式