GET和POST的区别

GET和POST在本质上都是HTTP请求, 但对它们的作用做了界定和适配, 让他们能够使用各自的使用场景.

虽然都试HTTP请求, 但是GET只进行一次HTTP请求, 而POST则是先发送请求头部, 再发送请求主体, 实际上是两次请求.

  1. 功能

    一般地, GET是用来从服务器上获取资源, POST 是更新服务器上的资源.

  2. REST服务

    GET是幂等的, 即读取同一个资源, 总是得到相同的数据, 而POST不是幂等的, 因为每次请求对资源的改变并不是相同的, 进一步地GET不会改变服务器上的资源, 而POST会对服务器上的资源进行改变.

  3. 请求参数形式

    GET请求的数据会附在URL之后, 即将请求数据放置在HTTP请求报文的请求头中, 以?分割URL和传输的数据, 参数之间以&相连. 而POST请求会把提交的数据放在HTTP请求报文的请求体中.

  4. 安全性

    GET请求提交的数据明文出现在URL中, 而POST请求参数则被包装到请求体中, 故POST的安全性比GET高.

  5. 请求大小

    GET请求的长度受限于浏览器或服务器对URL长度的限制, 允许发送的数据量比较小, 而POST请求则是没有大小限制.

posted @ 2020-03-24 21:24  凯旋.Lau  阅读(150)  评论(0编辑  收藏  举报