[自动化实战]HTTP请求中POST和GET方法的六点区别

释放双眼,带上耳机,听听看~!

HTTP请求中POST和GET方法使用区别
在DevOPS这个工程中,自动化任务从浏览器端采用POST的方式提交任务数据给后端的ansible任务处理api接口,为什么采用POST而不是GET方法呢?
这个得从POST方式和GET方式得区别说起:
[自动化实战]HTTP请求中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字符串的方式提交到服务端。

[自动化实战]HTTP请求中POST和GET方法的六点区别
课程介绍:https://coding.imooc.com/class/160.html
课程问答区:https://coding.imooc.com/learn/qa/160.html

【转自慕课】https://www.imooc.com

Python

《Python自动化运维开发实战》课程配套手记内容列表

2022-3-3 3:48:21

Python

Python异常处理 try、except和else的使用

2022-3-3 3:49:23

搜索