Get 和 Post 的区别?

get 和 post 区别点 :

**1.功能不同 2.过程不同 3.获取值不同 4.传送数据量不同 5.安全性不同**


一、功能不同

1、get是从服务器上获取数据。

2、post是向服务器传送数据。
**
二、过程不同**

1、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。

2、post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
Get 和 Post 的区别?_第1张图片

三、获取值不同

1、对于get方式,服务器端用Request.QueryString获取变量的值。

2、对于post方式,服务器端用Request.Form获取提交的数据。

四、传送数据量不同

1、get传送的数据量较小,不能大于2KB。

2、post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

五、安全性不同

1、get安全性非常低。

2、post安全性较高。

如果没有加密,他们安全级别都是一样的,随便一个监听器都可以把所有的数据监听到。


详细区别:

1.get参数通过url传递,post放在request body中。

2.get请求在url中传递的参数是有长度限制的,而post没有。

3.get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。

4.get请求只能进行url编码,而post支持多种编码方式

5.get请求会浏览器主动cache,而post支持多种编码方式。

6.get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留。

7.GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

8.GET产生一个TCP数据包;POST产生两个TCP数据包。

拓展资料:

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
Get 和 Post 的区别?_第2张图片

你可能感兴趣的:(前端)