GET和POST有哪些区别

110 阅读1分钟

区别一:幂等性

(如果多个完全相同的请求和单个请求,在服务器上的预期效果相同的话,这个请求方法则被认为是幂等的)

  1. 由于GET是读,POST是写,所以GET是幂等,POST不是幂等;
  2. 由于GET是读,POST是写,所以游览器打开网页会发送GET请求,想要POST打开网页要from标签
  3. 由于GET是读,POST是写,所以GET打开的页面刷新是无害的,POST打开的页面需要需要刷新确认
  4. 由于GET是读,POST是写,所以GET会被缓存,POST结果不会被缓存
  5. 由于GET是读,POST是写,所以GET打开打开页面可以收藏,POST不行

区别二:请求参数

  1. 通常,GET请求参数放在url里,POST请求参数放在body(消息体)里
  2. GET比POST更不安全,因为参数会直接暴露在url上,不能用来传递敏感信息
  3. GET请求参数放在url里是有长度限制,而在POST放在body里没有长度限制

区别三:TCP packet

GET产生的一个TCP数据包;POST产生两个或以上的TCP数据包

GET和POST最大的区别就是语义上的区别