- 两者的请求格式
- 两者对比
- 参数传输方式以及编码格式
- get,请求的数据以querystring的格式附加在url后面。编码格式采用ASCII
- post,请求数据放在请求body中,编码格式为unicode
- 传输数据大小
- get,url长度以及数据大小有限制
- post,由于不是url传值,理论上无限制
ps:http规范中,没有对url长度以及传输的数据大小进行限制,出现上述区别主要是因为浏览器以及服务器。实际中,服务器也会对post提交的数据进行限制
- 产生的tcp数据包
- get,产生一个,浏览器将http header以及data发送出去,服务器响应200
- post,产生两个,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200
ps:并非所有浏览器的post都会发送两次包,firefox就发送一次
- 安全性
- 从是否修改服务器资源上说
- get,不修改服务器资源
- post,修改服务器资源
- 从参数而言
- get,直接暴露参数
- post,隐藏参数
ps:最终的安全与否,视使用情况。例如http中定义get的方式用于读取资源,但实际开发中却使用了get的方式去修改资源,这样的情况,get被认为不安全对get而言是不公平的~
posted @
2020-12-03 12:02
Eric-liang
阅读(
88)
评论()
收藏
举报