• 协议层面:请求行里一定要有请求方法,官方为了统一语义,定义了 GET 表示拿数据,POST 表示上传数据,PUT 表示修改数据,所以 GET,POST 请求这里仅仅是语义上的差别,没有说哪个请求必须做啥
  • 应用层面:开发者约定俗成的规范,GET 请求的请求体会设空,请求参数会放进 url 中,不是没有请求体
  • 浏览器层面:GET 请求会缓存,有历史记录
  • 安全性:Get 请求可以将请求的参数放入 url 中向服务器发送,这样的做法相对于 Post 请求来说是不太安全的,因为请求的 url 会被保留在历史记录中。
  • 请求长度:浏览器由于对 url 长度的限制,所以会影响 get 请求发送数据时的长度。这个限制是浏览器规定的,并不是 RFC 规定的。