1.何时使用Get
1.请求是为了查找资源,html表单数据仅用来搜索
2.请求结果无持续性的副作用
3.收集的数据及html表单内的输入字段名称的总长不超过1024个字符
2.何时使用Post
1.请求的结果有持续性的作用,例如:数据库内添加新的数据行
2.若使用get方法,则表单上收集的数据可能让URL过长
3.要传送的数据不是采用ASCII编码
3.Get 和 Post请求的区别
-
Get请求点击刷新或后退时不会重新提交数据,而Post请求数据会重新提交
-
Get请求能被浏览器缓存,参数保留在浏览器历史中,Post请求不能被缓存且参数不会保留在浏览器中
-
Post请求较Get请求更安全,Get请求发送的参数是url的一部分,会直接显示在浏览器中,当发送密码时就会变成“明文”了,Post请求的数据不会显示在url中
-
Get请求对数据长度存在限制-url的最大字符是2048,且只允许ASCII编码。Post对字符的长度和编码没有限制
4.Get和Post的安全性
看过上面的叙述有人会说:使用Get请求url会显示在地址栏上,Post不会显示在地址栏上而是在请求体中,一定是Get更安全。其实这种说法是不严谨的,因为HTTP在网络上是明文传输,如果在网络节点抓包,就能很轻易的得到报文数据,想要进行安全的数据传输,就要使用Https加密