get会将接收到的数据拼接到url地址中,以’?'问号划分,问号后面是接收到的数据,按照variable=value的形式,多个数据之间用&连接,用户可以很直观的看见。
axios.get("/user?ID=7777777").then().catch() axios.get("/user",{ params:{ ID:7777777 } }).then().catch();
post会将接收到的数据放置在html header中(放在form的数据体中,按照变量和值相对应的方式)一起发送到指定的url地址内,用户看不到这个过程。
axios.post("/user",{ ID:7777777 } ).then().catch()
get传递数据的大小因为受到浏览器地址栏的限制,所以一般在2k-8k,这要据浏览器而定,比如谷歌浏览器就是8k。
post传递数据的大小最小是2M,但理论上是无上限的,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。
get一般用于获取/查询资源信息,多用于a标签的herf属性中,也常用于location.herf属性中。
post一般是用于更新数据信息,多用于表单提交。
Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
get的安全性比post较差。
Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后 放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。 Post的所有操作对用户来说都是不可见的。