GET与POST深层次的区别
基础区别
说起get和post的区别,了解的人都能说出一二:
- get重点在从服务器上获取资源,post重点在向服务器发送数据。
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET请求在URL中传送的参数是有长度限制的(2KB),而POST没有。
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
- GET参数通过URL传递,POST放在请求主体中。
- GET只允许用ASCII字符,POST没有限制
但是并不是所有人都能把一些更深一层次的区别充分的说出来
首先我们所知道的GET发送数据时,参数是放在URL里的,而POST方法提交的数据则放置在HTTP报文实体的主体里,但是这里有一个误区,POST只能放在请求主体里面吗?
答案是否定的
POST请求参数时,也可以放在url里,只不过大家一般为了区别这两种方式的不同点,忽略掉了