浅谈Get和POST区别
- 定义
HTTP规定了几种与服务器交互的不同的方法,最常见的莫过于GET,POST两种方法.(URL指:资源描述符,一个URL地址,用于描述一个网络上的资源),而,我们所说的这两种方法对应这个资源的获取和查询的功能. - 基本的区别
一般在浏览器中输入一个网络访问网站的都是GET请求,在FORM表单中,可以在设置的方法中,指定提交的方式为GET或POST,默认为GET请求.
GET是以实体方式得到由请求URL指定资源的信息,如果URL请求只是一个数据产生过程,那么最终要在相应实体中返回的是处理过程中的结果所指的资源,而不是处理过程的描述
POST用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当做请求队列中请求URL指定资源的附加新子项,POST被设计成用同一的方法实现
GET是向服务器发索取数据的一种请求,而POST是向服务器提交数据的一种请求,提交的数据位于信息头后面的实体中. - 具体的区别
1-1>GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&链接.URL编码格式为ASCII码,所有非ASCII码字符都要编码之后再进行传输
2-1>POST请求,请求会把请求的数据放置在HTTP请求包的包体中
因此,GET请求的数据会暴露在地址栏中,而POST请求不会
1-2>在实际的传输过程中,对于GET,在特定的浏览器中和服务器中 会对URL的长度有限制,因此,在使用GET请求时,传输数据会受到URL长度的限制.
2-2>对于POST,因此不是URL传值,理论上不会受限制,但是实际上各个服务器会规定对POST提交数据大小进行限制
1-3>GET方法不能设置书签
2-3>POST方法可以设置书签
POST比GET安全性高,GET请求会造成Crosspsote request ftogry攻击