GET和POST比较

     GET一般用于获取/查询资源信息,而POST一般用于更新/上传资源。它们本质上都是发送请求和接收响应。区别:
     (1)在HTTP协议中,GET是安全的、幂等的,而POST是非安全的、非幂等的:
      ① 安全指GET只是获取信息而非修改信息,不会影响资源的状态,不会对服务器资源产生副作用。
      ② 幂等指用GET对同一个URL的多个请求会返回相同的响应结果。
 
     (2)GET和POST的请求方式不同,如下:

     GET请求实例:

 GET http://weibo.com/signup/signup.php?inviteCode=2388493434
 Host: weibo.com
 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

     POST请求实例:     

 POST /inventory-check.cgi HTTP/1.1  
 Host: www.joes-hardware.com
 Content-Type: text/plain  
 Content-length: 18  
  
  item=bandsaw 264
              GET请求的内容在URL中?之后的部分,多个参数用&相连。POST请求的内容放在http请求包的包体中。
 
     (3)GET传送的数据量很少,一般小于2kB,而POST传送的数据量较大,默认不受限制。        
 
     (4)安全性上,对于用户而言,POST更具有安全性,因为请求内容不会暴露在地址栏中,可以避免用GET请求时用户名和密码暴露在URL上造成账号密码泄露问题。     
 
     (5)GET和POST本质上都是TCP/IP连接,只是由于HTTP协议规定和服务器/浏览器的限制,使他们在应用上产生了不同。其中,还有一点不同的是:GET只产生一个TCP包,浏览器会将http包头和包体在一个TCP包中发送出去;而POST产生两个TCP包,浏览器会先发送装有http包头的TCP包,等待服务器响应后,浏览器再发含有http包体的TCP包。
 
原文地址:https://www.cnblogs.com/ladawn/p/8446065.html