您的位置:首页 > 其它

Get和Post

2016-03-19 15:14 190 查看
工作方法上的区别:

    get请求可以有参数也可以没有参数。如果有参数,参数放在URL的结尾用?隔开。

    get对url长度一般有限制。大多数浏览器支持2000字符左右的长度,Apache的默认长度一般为8000个字符。且由于url对字符的编码采用的是ascii码,而不是Unicode,所以,如果参数中有非Ascii码而使用get请求时需要先编码再传输。

    post请求一般都有参数,因为没有参数的post请求没有意义。但是post参数放在报文体中,并没有放在url后面。且post报文体长度并没有限制。我们常见的post请求报文长度的限制是由服务器产生的。

适用场景的区别

    get适用于传递参数少且字符全部为Ascii码的请求,不过get请求也可以传递非法字符,只不过在传递之前需要进行编码(百分号编码)。

    post适用于传递参数多且含有比较多的特殊字符(如中文)的请求。另外,post适用于修改性的请求,比如更改密码,概括来说,就是提交数据给服务器进行处理。

效率上的区别

    get请求比post请求更高效,所以,一般资源性的请求都用get。

GETPOST
点击返回/刷新按钮没有影响数据会重新发送(浏览器将会提示用户“数据被从新提交”)
添加书签可以不可以
缓存可以不可以
编码类型(Encoding type)application/x-www-form-urlencodedapplication/x-www-form-urlencoded or multipart/form-data. 请为二进制数据使用multipart编码
历史记录没有
长度限制没有
数据类型限制只允许ASCII字符类型没有限制。允许二进制数据
安全性查询字符串会显示在地址栏的URL中,不安全,请不要使用GET请求提交敏感数据因为数据不会显示在地址栏中,也不会缓存下来或保存在浏览记录中,所以看POST请求比GET请求安全,但也不是最安全的方式。如需要传送敏感数据,请使用加密方式传输
可见性查询字符串显示在地址栏的URL中,可见查询字符串不会显示在地址栏中,不可见,
上表转载自 http://www.cnblogs.com/igeneral/p/3641574.html
我们一般所说的post比get安全并不是说post默认存在什么加密之类的,而是说,get比post更容易将敏感信息暴露出来。而这些暴露来源于get请求的参数在Url中而get请求可以被浏览器缓存,如果这个链接被分享会导致第三方提交进而可能产生意想不到的操作。要想安全传输,还是需要使用加密措施的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: