首先,我们要了解GET 和 POST是两种 HTTP 请求方法,也是在客户机和服务器之间进行请求-响应时最常被用到的两种方法。
- GET - 从指定的资源请求数据。
- POST - 向指定的资源提交要被处理的数据
也就是说,GET一般用于获取\查询资源信息,而POST一般用于更新资源信息。
区别:
1、url可见性:GET会将提交的数据(例如密码)展示在URL中,而POST会将数据封装在一个表单中。
2、安全性:基于上条URL可见性,POST比GET更安全,数据不会被展示或保存在浏览器历史和WEB服务器日志中。
3、缓存:GET能被缓存,而POST不能。
4、刷新:POST刷新时数据会被重新提交(一般浏览器会提示)。
5、书签:POST不能被收藏为书签。
6、对数据的限制:GET发送数据时因为要添加进URL中,不同的浏览器会限制URL的不同长度,因此GET数据长度受到限制。此外GET接受的数据类型只允许ASCII字符。POST既无长度也无类型限制,甚至可以提交二进制数据。
7、编码类型:GET:application/x-www-form-urlencoded;POST:application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。
另外
GET的URL结构:以?分割URL和传输数据,参数之间以&相连