Get和Post请求的区别与联系

       Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URl地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。

       GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

1.GET 方法

GET方法主要用来提交数据,而非修改数据,不会影响到资源库的内容。

GET 方法提交数据不安全,数据置于请求行,客户端地址栏可见,(例如:GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。浏览器一般会缓存你登录的网易,url也一并缓存,这样别人就可以看到你的登录用户名和密码)。

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  

GET 方法提交的数据大小限制在255 个字符之内

GET使用URL或Cookie传参。

2.POST 方法

POST将数据放在BODY中

POST是可以更新数据,(比如说用户在添加评论的时候,导致资源库内容改变就是用post方法提交数据)

POST 方法提交数据安全,数据置于消息主体内,客户端不可见,POST将数据放在BODY中,如下图中的 item=bandsaw 2647 

POST /inventory-check.cgi HTTP/1.1  
Host: www.joes-hardware.com  
Content-Type: text/plain  
Content-length: 18  
item=bandsaw 2647 

POST 方法提交的数据大小没有限制

原文地址:https://www.cnblogs.com/moxuexiaotong/p/4898660.html