[font="]GET和POST是HTTP协议中最常用的两个方法,也是性能测试目前支持的HTTP请求方法。
[backcolor=transparent][font="]GET请求一般用于从指定的资源请求数据,查询串(query string)是在GET请求的URL中发送的,POST请求一般用于向指定的资源提交要被处理的数据。两者的区别可以参考以下列表。[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent][backcolor=transparent]
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent][backcolor=transparent]GET
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent][backcolor=transparent]POST[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent]后退按钮[backcolor=transparent]/[backcolor=transparent]刷新
[size=; font-size: 10pt,10pt][backcolor=transparent]
无害
[size=; font-size: 10pt,10pt][backcolor=transparent]
数据会被重新提交(浏览器应该告知用户数据会被重新提交)。[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
书签
[size=; font-size: 10pt,10pt][backcolor=transparent]
可收藏为书签
[size=; font-size: 10pt,10pt][backcolor=transparent]
不可收藏为书签[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
缓存
[size=; font-size: 10pt,10pt][backcolor=transparent]
能被缓存
[size=; font-size: 10pt,10pt][backcolor=transparent]
不能缓存[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
编码类型
[size=; font-size: 10pt,10pt][backcolor=transparent]
application/x-www-form-urlencoded
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent]application/x-www-form-urlencoded [backcolor=transparent]或[backcolor=transparent]multipart/form-data[backcolor=transparent]。为二进制数据使用多重编码。[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
历史
[size=; font-size: 10pt,10pt][backcolor=transparent]
参数保留在浏览器历史中。
[size=; font-size: 10pt,10pt][backcolor=transparent]
参数不会保存在浏览器历史中。[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
对数据长度的限制
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent]是的。当发送数据时,[backcolor=transparent]GET [backcolor=transparent]方法向[backcolor=transparent] URL [backcolor=transparent]添加数据;[backcolor=transparent]URL [backcolor=transparent]的长度是受限制的([backcolor=transparent]URL [backcolor=transparent]的最大长度是[backcolor=transparent] 2048 [backcolor=transparent]个字符)。
[size=; font-size: 10pt,10pt][backcolor=transparent]
无限制。[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
对数据类型的限制
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent]只允许[backcolor=transparent] ASCII [backcolor=transparent]字符。
[size=; font-size: 10pt,10pt][backcolor=transparent]
没有限制。也允许二进制数据。[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
安全性
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent]与[backcolor=transparent] POST [backcolor=transparent]相比,[backcolor=transparent]GET [backcolor=transparent]的安全性较差,因为所发送的数据是[backcolor=transparent] URL [backcolor=transparent]的一部分。
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent]在发送密码或其他敏感信息时绝不要使用[backcolor=transparent] GET[backcolor=transparent]!
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent]POST [backcolor=transparent]比[backcolor=transparent] GET [backcolor=transparent]更安全,因为参数不会被保存在浏览器历史或[backcolor=transparent] web [backcolor=transparent]服务器日志中。[tr=rgb(255, 255, 255)]
[size=; font-size: 10pt,10pt][backcolor=transparent]
可见性
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent]数据在[backcolor=transparent] URL [backcolor=transparent]中对所有人都是可见的。
[size=; font-size: 10pt,10pt][backcolor=transparent]
[backcolor=transparent]数据不会显示在[backcolor=transparent] URL [backcolor=transparent]中。
[backcolor=transparent][font="]
[backcolor=transparent][font="]性能测试在发送用户的请求时会按照用户的选择,使用GET或者POST来请求URL,如果URL中包含queryString且请求类型为POST,性能测试会自动把请求的queryString转化成form表单放在POST的body里发送到服务器。
[backcolor=transparent][font="][backcolor=transparent]
[backcolor=transparent][font="]用户压测时到底应该使用GET还是POST,取决于服务端的处理方式,有些服务器对于表单处理同时支持GET和POST类型的提交,有些可能只支持其中的一种方式,所以用户需要根据自己服务器的处理机制来选择到底是使用GET还是POST。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。