开发者社区> 问答> 正文

脚本如何选择请求类型?

[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。

展开
收起
猫饭先生 2017-10-31 14:10:55 2703 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载