get协议与post协议区别
在http协议中,get仅代表向服务器获取数据,post为发送(提交)数据,两者仅仅是含义不同;
但是,大部分情况下,浏览器等客户端在实现协议的基础上,为了符合协议中的定义,对get及post做了相应的
限制;
数据传输方式及大小方面:
在发送 get 请求时,参数需要写在URL地址后面,并且参数的大小也做了相应限制,浏览器厂商不同,大小限制也不相同;
但POST请求中,一般会在HTML的表单中写入数据,由浏览器自行组织数据格式放入请求体发送,而在ajax技术的实现中,
需要将数据放进send方法传递;
如果非要说有区别,那也仅仅是大部分情况下,get的数据在请求头,post数据在请求体;
安全性方面:
目前网上流行一种说法是 post相对来说要比get安全一些,其实这是错误的,
我们不能愚昧的将眼睛能看到的视为不安全而眼睛看不到的视为安全;
真实的情况是 http 协议中,所有的数据传输方式,不仅仅是get和post ,包括put、delete、push等等,都是
明文传输的,也就是说,相对https,http本身就是不安全的;
而两种传输方式在安全性上是没有可比性的;
对于传输数据类型:
网上还有一种说法是post可以做文件上传而get不可以;
对于协议角度来说并不准确,只是浏览器及服务器在实现上没有为get方式实现相应的功能而已;
工具实现协议,工具不能代表协议;
实现可以不遵循协议,但是实现不能修改协议;