所谓的Get和Post到底是何方神圣?

简介:

Get和Post是表单提交数据的两种基本方式,Get请求数据通过域名后缀URL传送,用户可见,不安全,Post请求数据通过在请求报文正文里面传输,相对来说比较安全。

Get是通过URL传递表单值,Post通过URL看不到表单域的值;

Get传递的数据量是有限的,如果要传递大量数据则不能用Get,比如type=”file”上传文章、type=”password”传递密码或者用>textarea<发表大段文章,Post则没有这个限制;

Post会有浏览器提示重新提交表单的问题,Get则没有。

对于Post的表单重新敲地址栏再刷新就不会提示重新提交了,因为重新敲地址就没有偷偷提交的的数据了。

Post方式的正确的地址很难直接发给他人。

GET和POST的区别:

1. Get提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如Edit.aspx?name=test1&id=123456。Post方法是把提交的数据放在http包的body中。

2. Get提交的数据大小有限制,因为浏览器对URL的长度是有所限制的,感兴趣的可以自己了解一下。而Post方法是提交的数据没有限制。

3. Get方式需要使用Request.QueryString来取得变量的值,而Post方式通过Request.Form来获取变量的值。

4. Get方式提交数据,会带来安全问题,比如一个登录页面,通过Get方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问此电脑,就可以从历史记录获得该用户的账号和密码。

Get是从服务器上获取数据,Post是向服务器传送数据。

Get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。Post是通过http post机制,将表单内各个字段与其内容放置在HTML HEADER 内一起传送到action属性所指的URL地址。用户是看不到这个过程的。

对于Get方式,服务器端用Request.QueryString获取变量的值,对于Post方式,服务器端用Request.Form获取提交的数据。

Get传送的数据量小,不能大于2kb(还是因为受URL长度的限制)。Post传送的数据量大,一般被默认为不受限制。但理论上,限制取决于服务器的处理能力。

Get安全性较低,Post安全性较高。因为Get在传输过程,数据被放在请求的URL中,而如今有很多服务器、代理服务器或者用户代理都会讲请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上之间看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。

×

谢谢你请我吃辣条

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 简介:
    1. 1.1. Get和Post是表单提交数据的两种基本方式,Get请求数据通过域名后缀URL传送,用户可见,不安全,Post请求数据通过在请求报文正文里面传输,相对来说比较安全。
    2. 1.2. Get是通过URL传递表单值,Post通过URL看不到表单域的值;
    3. 1.3. Get传递的数据量是有限的,如果要传递大量数据则不能用Get,比如type=”file”上传文章、type=”password”传递密码或者用>textarea<发表大段文章,Post则没有这个限制;
    4. 1.4. Post会有浏览器提示重新提交表单的问题,Get则没有。
    5. 1.5. 对于Post的表单重新敲地址栏再刷新就不会提示重新提交了,因为重新敲地址就没有偷偷提交的的数据了。
    6. 1.6. Post方式的正确的地址很难直接发给他人。
  2. 2. GET和POST的区别:
    1. 2.1. 1. Get提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如Edit.aspx?name=test1&id=123456。Post方法是把提交的数据放在http包的body中。
    2. 2.2. 2. Get提交的数据大小有限制,因为浏览器对URL的长度是有所限制的,感兴趣的可以自己了解一下。而Post方法是提交的数据没有限制。
    3. 2.3. 3. Get方式需要使用Request.QueryString来取得变量的值,而Post方式通过Request.Form来获取变量的值。
    4. 2.4. 4. Get方式提交数据,会带来安全问题,比如一个登录页面,通过Get方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问此电脑,就可以从历史记录获得该用户的账号和密码。
    5. 2.5. Get是从服务器上获取数据,Post是向服务器传送数据。
    6. 2.6. Get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。Post是通过http post机制,将表单内各个字段与其内容放置在HTML HEADER 内一起传送到action属性所指的URL地址。用户是看不到这个过程的。
    7. 2.7. 对于Get方式,服务器端用Request.QueryString获取变量的值,对于Post方式,服务器端用Request.Form获取提交的数据。
    8. 2.8. Get传送的数据量小,不能大于2kb(还是因为受URL长度的限制)。Post传送的数据量大,一般被默认为不受限制。但理论上,限制取决于服务器的处理能力。
    9. 2.9. Get安全性较低,Post安全性较高。因为Get在传输过程,数据被放在请求的URL中,而如今有很多服务器、代理服务器或者用户代理都会讲请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上之间看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。
,