• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

DevOPS - HTTP请求中POST和GET方法的六点区别

在DevOPS这个工程中,自动化任务从浏览器端采用POST的方式提交任务数据给后端的ansible任务处理api接口,为什么采用POST而不是GET方法呢?
这个得从POST方式和GET方式得区别说起:
图片描述

(差别一)GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

(差别二)GET书签可收藏,POST为书签不可收藏。GET能被缓存,POST不能缓存 。GET编码类型application/x-www-form-url,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。

(差别三)GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。

(差别四)GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。POST无限制。

(差别五)GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。

(差别六)与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET !POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中。

 

另外,补充一点我们常见的POST数据方式有表单的方式和json字符串的方式,如果客户端需要POST比较复杂的数据结构,建议使用json字符串的方式提交到服务端。

 

DevOPS  - HTTP请求中POST和GET方法的六点区别

Pingbacks已打开。

引用地址

暂无评论

发表评论