get和post的自我理解
**
1 后退 /刷新 :get可以没有影响,但是post 数据会被重新提交(浏览器应该告知用户会被重新提交)。
2书签: get可以被收藏为书签 ,post不可以。
3缓存: get能被缓存, get多用来直接获取数据,不修改数据,相当于db中的search语句。
post不能被缓存,post一般是将数据发送到服务器端去存储,相当于db中的update,delete insert,因此缓存被清楚,不能到缓存中去读取数据
4 历史 :get参数保留在浏览器中, post 不会保存在浏览器中。
5 数据长度的限制:当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 Post无限制
6安全性 :与post相比,GET的安全性更差,因为发送的数据是URL的一部分,在发送密码或者其他敏感信息时不要使用GET。POST 参数不会被保存在浏览器中历史中 或者web服务器日志中
7 可见性:GET数据在URL中对所有人都是可见的, POST不会显示在URL中。
总结:查找数据,使用get ,因为从缓存中读取数据速度快
更新插入删除数据使用POST,传输的数据有敏感信息时也使用POST。
提交数据时,浏览器应该告知用户是否提交数据,防止点击后退或者刷新按钮时,数据重复提交。