Get与Post请求⽅式的区别

  1. 是基于什么前提的?如果什么前提都没有,不使⽤任何规范,只考虑语法和理论上的
    HTTP协议。
    GET和POST⼏乎没有什么区别,只有名字不⼀样。
  2. 如果是基于RFC规范的。
    (1)理论上的(Specification):GET和POST具有相同语法的,但是有不同的语义。
    get是⽤来获取数据的,post是⽤来发送数据的,其他⽅⾯没有区别。
    (2)实现上的(Implementation):各种浏览器,就是这个规范的实现者。
    常⻅的那些不同:
    1)GET的数据在URL是可⻅的。POST请求不显示在URL中。
    2)GET对⻓度是有限制的,POST⻓度是⽆限的。
    3)GET请求的数据可以收藏为书签,post请求到的数据不可收藏为书签。
    4)GET请求后,按后退按钮、刷新按钮⽆影响,post数据会被重新提交。
    5)GET编码类型:application/x-www-form-url,post的编码类型:有很多种。
    encodeapplication/x-www-form-urlencoded
    multipart/form-data
    6)GET历史参数会被保留在浏览器⾥,psot不会保存在浏览器中的。
    7)GET只允许ASCII.post没有编码限制,允许发⼆进制的。
    8)GET与POST相⽐,GET安全性较差,因为所发的数据是URL的⼀部分。