POST和GET请求的区别及使用场景

461 阅读1分钟

区别

  • 安全性

    • 结论:post请求比get请求更安全

    • 理由:参数不会作为 url 的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中

  • 数据长度

    • 结论:post请求传输的数据长度比get请求长
    • 理由:get请求的参数是拼接在url中,get请求有url长度限制
  • 数据类型

    • 结论:post请求发送的数据类型比get请求多
    • 理由:get 只能发送 ASCII 字符
  • 请求速度

    • 结论 :在请求速度上,post < get
  • get请求的特性

    • get 请求的是静态资源,则会缓存,如果是数据,则不会缓存

    • 适用场景

      • post 用于修改和写入数据,get 一般用于搜索排序和筛选之类的操作
      • post 在发送数据量大的请求时优势很显示,get 则更适合获取静态资源、简单的查询等接口
      • 简单的查询请求使用 get 方法,其他增、删、改、复杂的查询请求都可以使用 post
      • 幂等不修改服务器状态用get,幂等修改服务器状态用put,不幂等修改服务器状态用post