一、简介
本文总结通常用的两种请求方式:get 和 post方式的区别,这道面试题出现的频率也比较高。
二、区别
如下表所示:
请求方式区别 |
get |
post |
用途 |
从服务器获取数据 |
向服务器提交数据 |
参数传递 |
参数拼接在URL上,xxx?id=1234&name=zhagnsan |
参数封装在消息主体中一起提交到服务器 |
传输数据量 |
传送的数据量较小,不能大于2KB(URL 的最大长度是 2048 个字符)。 |
传送的数据量较大,一般被默认为不受限制 |
安全性 |
与 POST 相比,GET的安全性较差,因为所发送的数据是 URL 的一部分。(在发送密码或其他敏感信息时绝不要使用 GET ) |
POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。 |
书签 |
可收藏为书签 |
不可收藏为书签 |
缓存 |
能被缓存 |
不能缓存 |
编码类型 |
application/x-www-form-urlencoded |
application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码 |
历史 |
参数保留在浏览器历史中 |
参数不会保存在浏览器历史中 |
可见性 |
数据在URL中对所有人都是可见的 |
数据不会显示在URL中 |