针对网络请求中,请求方式POST和GET的区别?相比大家在面试中或多或少的遇到过,无论你是后端,前段,移动端。对于一些基本的区别我们多少都能说出一大段,可是每次回答完毕,经常看到面试官一副欲求未满的表情。那怎样才能是完美的回答呢。那么今天这篇文章就让我们来学习一番!
GET和POST是HTTP请求的两种基本方法(其他的还包括:PUT,DELETE),最直观的区别就是GET把参数包含在URRL中,POST将参数封装在RequestBody中。
基本区别:
1,GET通常从服务器获取数据,POST通常向服务器提交数据。
2,GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单字段一一对应,在URL中可以直观看到。POST是通过HTTP pos机制,将表单内各个字段与其内容在HTML HEADER内一起传送到ACTION属性所指的URL地址,用户无法看到这个过程。
3,GET方式服务器端用Request.QueryString 获取变量的值,POST方式服务器用Request.Form获取提交的数据。
4,GET提交方式的数据最多只能1024字节,POST理论上没有限制。
5,GET安全性非常低,POST安全性比较高,敏感信息禁止使用GET方式提交。
想必你对这些基本的区别肯定是了熟于心,当面试官问起,感觉就是为你量身打造。可你回答完毕,对方内心毫无波澜,甚至。。。。!对你说了句:“这不是我想要的答案”
那我们就来深挖一下本质!
GET和POST是什么?HTTP协议中两种发送请求的方法。
HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。
HTTP底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP/IP链接。
其实GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致她们在应用过程中提现出一些不同。
你以为这就完了,那你就太天真了!