267

问答题 267 /413

请你说一说get和 post区别

参考答案

参考回答:

GET:从指定的资源请求数据。

POST:向指定的资源提交要被处理的数据。

由于HTTP的规定和浏览器/服务器的限制,导致它们在应用过程中体现出一些不同。


GET

POST

后退按钮/刷新

无害

数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

缓存

能被缓存

不能缓存

编码方式

只能进行url编码

支持多种编码方式

是否保留在浏览历史

参数保留在浏览器历史中。

参数不会保存在浏览器历史中。

对数据长度的限制

发送数据,GET 方法向 URL 添加数据,但URL的长度是受限制的。

无限制。

对数据类型的限制

只允许 ASCII 字符。

没有限制。也允许二进制数据。

安全性

安全性较差,因为参数直接暴露在url中

因为参数不会被保存在浏览器历史或 web 服务器日志中。

可见性

数据在 URL 中对所有人都是可见的。

数据不会显示在 URL 中。

传参方式

get参数通过url传递

post放在request body中。