正确答案:
POST和GET本质上没有区别。一个用与传递数据,另一个用于修改数据。
面试答案:
- GET使用URL或Cookie传参。而POST将数据放在BODY中。
- GET的URL会有长度上的限制,则POST的数据则可以非常大。
- POST比GET安全,因为数据在地址栏上不可见。
- Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好;而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击,根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节
本质:
1.GET和POST是由HTTP协议定义的。在HTTP协议中,
Method和Data(URL, Body, Header)是正交的两个概念,也就是说,
使用哪个Method与应用层的数据如何传输是没有相互关系的。
2.Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
3.HTTP没有要求,如果Method是POST数据就要放在BODY中。也没有要求,
如果Method是GET,数据(参数)就一定要放在URL中而不能放在BODY中。POST也能把数据放在URL中,GET也能把数据放在BODY中。
4.HTTP协议明确地指出了,HTTP头和Body都没有长度的要求。而对于URL长度上的限制。