关于 HTTP 307 状态码(307 Temporary Redirect)

1 各种状态码的含义

2 状态码30X规范动作

  • 301永久重定向
  • 302临时重定向,HTTP1.0的状态码,HTTP1.1也有保留。 

如果client向server发送post请求。 
server返回URL和302。 
如果用户确认,client发送post请求。(但实际情况是,很多浏览器都不问问用户,直接变为get发送get请求)

  • 303临时重定向,HTTP1.1的状态码// 

发送Post请求,收到303,直接重定向为get,发送get请求,不需要向用户确认

  • 307临时重定向,HTTP1.1的状态码 

客户端发送post请求返回307时,浏览器询问用户是否再次post

3 对于307状态码说明

在 HTTP 协议中, 307 Temporary Redirect(临时重定向)是表示重定向的响应状态码,说明请求的资源暂时地被移动到  Location 首部所指向的 URL 上。

原始请求中的请求方法和消息主体会在重定向请求中被重用。在确实需要将重定向请求的方法转换为  GET 的场景下,可以考虑使用 303 See Also 状态码。例如在使用 PUT 方法进行文件上传操作时,需要返回确认信息(例如“你已经成功上传了xyz”)而不是上传的资源本身,就可以使用这个状态码。

状态码 307 与 302 之间的唯一区别在于,当发送重定向请求的时候,307 状态码可以确保请求方法和消息主体不会发生变化。当响应状态码为 302 的时候,一些旧有的用户代理会错误地将请求方法转换为 GET:使用非 GET 请求方法而返回 302 状态码,Web 应用的运行状况是不可预测的;而返回 307 状态码时则是可预测的。对于 GET 请求来说,两种情况没有区别。

 

4 案例分析

  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值