重定向之后为什么使用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方法是可行的。

1
1
ImClever
感谢老师,感谢老师
2022-03-18
共1条回复

Python自动化测试开发实战,能帮你就业的测试课

开发高扩展、高可用的自动化测试框架,利用好测试自动化技术。

445 学习 · 157 问题

查看课程