区别与联系:GET一般用来取数据Post一般用来提交数据
- get是从服务器上获取数据,post则是向服务器传送数据;
- get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面;Post是将表单中的数据放在请求的数据体中,按照变量和值相对应的方式,传递到action所指向URL;
所以从上述也可以得到另外两个结论:
- get传送的数据量较小,不能大于2KB,这主要是因为受URL长度限制。post传送的数据量较大,所以在上传文件只能使用Post。一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB;
- get安全性非常低(因为用户可以通过URL看到),post安全性较高(其所有操作对用户来说都是不可见的)。但是执行效率却比post方法好;
- Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集;
- Get是Form的默认方法;
- Get方式提交来的数据在服务器端用Request.QueryString()来获取,用Post方式提交的数据用Request.Form()来获取(这一点不是很明确);
建议:
1、如果是包含机密信息的话,建议用post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
所以如果有敏感数据是不应该用get方法的,但是有例外,就是ajax请求时候即使是敏感字段也可以用get。
关于响应速度:
- get请求是可以被客户端缓存的。比post高效。
- AJAX环境中get响应快速,post需要先发送header再发送post data;
关于安全:
- GET requests can be cached
- GET requests can remain in the browser history
- GET requests can be bookmarked
- GET requests can be distributed & shared
- 说 POST 比 GET 安全肯定是错的,POST跟GET都是明文传输;
- 语义上,GET是获取指定URL上的资源,是读操作,重要的一点是不论对某个资源GET多少次,它的状态是不会改变的,在这个意义上,我们说GET是安全的(不是被密码学或者数据保护意义上的安全);
- 因为GET是安全的,所以GET返回的内容可以被浏览器,Cache服务器缓存起来(其中还有很多细节,但不影响这里的讨论);
- 而POST的语意是对指定资源“追加/添加”数据,所以是不安全的,每次提交的POST,参与的代码都会认为这个操作会修改操作对象资源的状态;浏览器在你按下F5的时候会跳出确认框,缓存服务器不会缓存POST请求返回内容;
分享到:
相关推荐
Ajax中Get请求和Post请求的区别 简单例子 何时使用Get请求,何时使用Post请求
超文本传输协议(HTTP)的...两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据
C# http Get/POST请求封装类
post和get请求的区别 POST 和 GET 是 HTTP 请求方法,用于在客户端和服务器之间传递数据和请求资源。它们之间的主要区别在于数据传输和请求的方式,以及用途。 GET 适用于获取数据,对数据的可见性和安全性要求较低...
winform GET请求和POST请求! 很值得下载看看!资源免费,大家分享!!
VC++ HTTP Get Post请求
C++实现HTTP的GET,POST请求及HTTPS的请求
Delphi两种方法演示HTTP请求:GET/POST方法使用演示,程序将演示使用这两种方法建立会话、建立一个http请求句柄、发送一个指定请求到httpserver、接收header信息和一个http请求、指向一个接收请求信息的缓冲区的指针...
C# 使用Get和Post请求获取数据,Get Post 请求, POST传值
用HTML页面模拟测试get/post请求,psot请求参数的格式为json串
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就...
java调用HTTP接口(Get请求和Post请求)
httpclient的用法,发送get请求和post请求,设置header
利用这两个jar包,很简单的用java实现httpget和httppost请求。
HTTP协议GET和POST使用区别 GET和POST使用区别 GET GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求参数在URL中的是可见的 GET 请求有长度限制 1、在浏览器上表现的区别 GET和...
利用Boost::Asio库来实现Post/Get请求的发送。可以快速开发c++的http请求,访问以http为协议的服务器示例代码。
Android中Https请求get和post 博客地址:http://blog.csdn.net/lsf1025995457/article/details/51794377
Retrofit网络请求,内含GET、POST请求,POST请求需要用自己的服务器针对性接口测试、GET请求公开接口测试,解析内容简单按需自己项目,很好的框架通俗易懂
http get post 请求模拟器