重定向之后为什么使用GET方法
来源:9-4 自动化测试异步开发之编写异步webdriver接口请求客户端

ImClever
2022-03-16
if 300 <= status_code <304:
return self.command('GET', resp.headers.get('location', ''), session)
这里为什么要固定为GET方法呢?会不会存在重定向的POST方法,然后导致这里有问题?
麻烦老师解惑。。。
写回答
1回答
-
托尼老师
2022-03-17
http协议中是允许使用POST方法请求重定向的资源的。
重定向是服务器进行请求资源切换时通知客户端的一种手段,其本质上还是对服务器资源的请求,所以一般情况下,重定向后的资源请求方法是POST还是GET取决于服务器。
在W3C针对driver服务的接口定义中,重定向一般都是GET方法,因为driver服务只是充当了一个操作中继的作用,而且整个交互过程中基本不涉及到数据缓存和泄露,在开启访问IP白名单后,也不会有人利用driver服务编写恶意代码攻击自己的测试系统和浏览器,所以针对重定向的对象接口,使用GET方法是可行的。
112022-03-18
相似问题