Post和get的区别
本次任务完成时间:2019年06月28日
开发工具与关键技术:Visual Studio 2015 && post和get的区别
展示效果:post和get的区别
首先来了解一下post和get,这两个都是HTTP协议的请求方法,HTTP定义了与服务器交互的不同方法,post和get是最基本的的方法,
我们在from提交时,如果不指定method,就会默认为get请求,Get将表单里的数据添加到action所指向的URL后面,并且两者之间使用”?”连接,而各个变量之间使用”&”连接;
get是从服务端上获取的数据,get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
get获取数据的方式,服务器端用Request.QueryString获取变量的值。但是get传送的数据量较小,不能大于2KB
post是向服务器传送数据,也可以说用来向服务器上传递修改数据。Post是将表单中的数据放在form的数据体中,按照变量和值对象的方式,传递到所指向的action. post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。但是post不可以使用url传递数据,有时候可能会不方便。
然而,在以下情况中,请使用 POST 请求:
1、无法使用缓存文件(更新服务器上的文件或数据库)
2、向服务器发送大量数据(POST 没有数据量限制)
3、发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
Post获取数据的方式,服务器端用Request.Form获取提交的数据。post传送的数据量较大,一般被默认为不受限制。
表单中get/post区别:
1、Get方法是用来向服务器上获取数据,而Post是用来向服务器上传递修改数据。
2、Get是不安全的,因为在传输过程中,数据被放在请求的Url中,这样,用户可以直接在浏览器上看到提交的数据,一些系统内部信息也一同显示在用户面前。Post的所有操作对用户来说都是不可见的。所以get安全性低,post安全性高。
3、Get传输的数据量小,主要是受限与于Url长度限制,其中IE浏览器对URL的最大限度为2083个字符。 而post可以的传输大量的数据,所以在上传文件和大数据量时使用post。
4、Form提交默认为Get方法提交。对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
5、Get方式获取数据后,刷新不会有负面的影响,因为它只是获取数据,而Post方法刷洗页面重复提交可能会产生不良的后果。
下面这张图是在网上截图下来的,希望对各位读者会有更好的理解。
HTTP协议中提供了很多状态码,举一些我们常常遇到的:
200是返回正常、304是服务端资源无变化,可以使用缓存资源、400是请求参数不合法、401是未认证、403是服务端禁止访问该资源、404是服务端未找到该资源、500是服务端异常,404和500是我们平时打代码常遇到的;
以上就是全部内容