前端网络——get和post的区别

952 阅读1分钟

面试常问!!!

  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的⼀部分。