get与post的区别
基于RFC规范来说
get与post语法完全相同,但是RFC给get与post规定了语义——get用来获取数据,post用来发送数据
浏览器实现的RFC
- get的数据被追加到url中,并对所有人可见。而post的数据不追加到url中
- get对数据长度有限制,post无限制
- get历史参数会保留在浏览器历史记录中,而post不会。结合1,因此我们认为post较get更安全
- get编码类型为‘application/x-www-form-url’。post编码类型为encodedapplication/x-www-form-urlencoded或multipart/form-data
- get可收藏为书签,而post不能
- get后退/刷新无影响,而post数据会被重新提交
其他
- multipart/form-data
如果要在表单中上传文件,一般会将form的enctype参数设置为multipart/form-data。这种方式只支持POST的请求方式