在HTTP请求中get和post的区别

一 : GET

  • get :: 一般用于获取和查询资源信息,指定的资源经服务器端解析后返回响应内容,必要时,可以将查询字符串参数追加到URL末尾,以便于将信息发送给服务器。
    • 实际上HTTP协议对URL长度是没有限制的;限制URL长度大多数是浏览器或者服务器的配置参数
    • 特点: 不安全,提交的数据量小。

二 :POST

  • **POST:**一般用于更新资源信息,通常用来传输实体的本体,用GET方法亦可以传输实体的主体,但是一般不用GET方法进行传输,而是POST。
  • HTTP协议没有对POST进行任何限制,一般是受服务器配置限制或者内存大小

区别

  • 区别一: GET和POST的安全性

    1、GET是通过URL方式请求,可以直接看到,明文传输

    2、POST是通过请求header请求,可以开发者工具或者抓包可以看到,同样也是明文的

    3、GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中

  • 区别二: 幂等:幂等是指同一个请求方法执行多次和仅执行一次的效果完全相同

    • get是幂等的
    • post不幂等
      • get请求刷新后数据不变;而post则会重新提交数据。所以get常用于查询;post常用于数据的增删改。
      • get请求参数可保留在浏览器历史中,而post则不然。
        在HTTP请求中get和post的区别

扩展:

在HTTP请求中get和post的区别
对于传输的数据量的限制问题: 对于get而言首先取决于浏览器,例如Chrome和FireFox理论上对于URL没有限制。而后取决于操作系统本身。
对于post而言:真正影响到数据大小的是服务器的处理程序能力。

结合项目使用

在HTTP请求中get和post的区别