POST 与 GET

POST 和 GET 请求的异同

表层:  

  • GET 在浏览器可以回退, 而 POST 则会再次提交请求
  • GET 的 URL 可以被 Bookmark, ⽽ POST 不可以.
  • GET 请求会被浏览器主动缓存, 而 POST 不会, 除⾮手动设置.
  • GET 请求参数会被完整保留】留在浏览器历史记录里, ⽽ POST 中的参数不会被保留.
  • GET 请求的数据只能进行 URL 编码, ⽽ POST ⽀持多种编码⽅式.
  • GET 请求在 URL 中传送的参数是有长度限制的 (URL 的最⼤长度是 2048 个字符), ⽽ POST 没有.
  • 对参数的数据类型, GET 只接受 ASCII 字符, ⽽而 POST 没有限制.
  • GET ⽐ POST 更不安全, 因为参数直接暴露在URL上, 所以不能⽤用来传递敏敏感信息.
  • GET 参数通过 URL 传递, POST 放在 Request body 中

深层:

  • GET 产⽣一个TCP数据包;POST产生两个TCP数据包.
  • GET: 浏览器会把 http 的 header和data⼀并发送出去, 服务器响应200(返回数据);
  • POST: 浏览器先发送 header, 服务器器响应 100 continue, 浏览器再发送data, 服务器响应 200 (返回数据).

 

 

posted @ 2018-09-07 16:58  SharePer  阅读(162)  评论(0编辑  收藏  举报