get是客户端向服务器索取数据的请求,设定的初衷是,客户端(浏览器)给服务器发送请求,然后服务器再返回给客户端其要求的数据。
那么为什么说get也能提交数据呢?
我们仔细理解第一句话“客户端(浏览器)给服务器发送请求”,这个请求是不是相当于给服务器提交的数据呢?(城市套路深,我要回农村- -)
post是客户端向服务器提交数据的请求
那么get和post提交数据的区别是什么呢?
1.get提交的数据就附在提交给服务器的url之后,以?开头参数之间以&隔开,例如/admin/user/123456.aspx?name=123&id=123
而post提交数据的方法则是直接将数据放在http的body部分
2.get提交数据有可能存在长度限制,这取决于不同浏览器对url长度的限制(因为get提交的数据附在url之后啊)
而post对提交数据的长度理论上没有限制
3.关于get和post提交数据哪个更安全?其实只能说半斤八两
get提交的数据直接出现在url中,存在于浏览器的缓存中,可见;而post提交的数据由于在http的body部分,对于浏览器是不可见的;
这么说好像get的安全性低于post
但是,若是http包被捕获,无论你是get还是post,若是没有加密,数据一样是一览无余的
所以说它们的安全性只能说是半斤八两