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请求则是没有大小限制.

作者:凯旋.Lau
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/KX-Lau/p/12562150.html