🥇 是基于什么前提的?如果什么前提都没有,不使用任何规范,只考虑语法和理论上的 HTTP 协议

GET和POST几乎没有什么区别,只有名字不一样

🥇 如果是基于 RFC 规范

🥈 理论上的( Specitication )

GET和POST具有相同的语法的,但是有不同的语义。GET是用来获取数据的,POST是用来发送数据的,其他方面没有区别。

🥈 实现上的( Implementation )各种浏览器,就是和这个规范的实现者

常见的不同

  1. 1. GET 数据在 url 是可见的,POST url 不可见的
  2. 2. GET 对长度是有限制的,POST 长度无限制
  3. 3. GET 请求的数据可以收藏为书签,POST 请求到的数据不可收藏为书签
  4. 4. GET 请求后,按后退按钮,刷新按钮无影响,POST 数据会被重新提交
  5. 5. GET 的编码类型:application/x-www.from-urlPOST 的编码类型:有很多种。encodeapplication/x-www-from-urlencoded multipart/from-data
  6. 6. GET 历史参数会保留在浏览器中,POST 不会保存在浏览器中
  7. 7. GET 只允许 ASCLLPOST 没有编码限制,允许发二进制
  8. 8. GET POST 相比呢,GET 安全性较差,因为所发的数据是 URL 的一部分