zhonghuasheng / Tutorial

后端 (Java Golang)全栈知识架构体系总结

Home Page:https://www.processon.com/view/5c9867cce4b0afc7441ea761#map

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

get和post的区别

zhonghuasheng opened this issue · comments

get和post的区别
GET POST
后退按钮/刷新 无害 数据会被重新提交(浏览器应该通知用户数据会被重新提交)
书签 可收藏为书签 不可收藏为书签
缓存 能被缓存 不能被缓存
编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded或multipart/form-data。为二进制数据使用多重编码
历史 参数保留在浏览器历史中 参数不会保存在浏览器历史中
对数据长度的限制 GET方法向URL添加数据,URL的长度是受限制的,最大可为2K 没有限制,允许二进制数据
对数据类型的限制 只允许ASCII字符 没有限制,也允许二进制数据
安全性 与POST相比,GET的安全性较差,参数显示在URL中 POST比GET更安全,因为参数不会被保存在浏览器历史或Web服务器日志中
可见性 数据在URL中对所有人都是可见的 数据不会显示在URL中

其实GET和POST本质上就是TCP链接,并无差别,由于HTTP的规定和浏览器/服务器的限制导致他们在应用过程中体现出一些不同。