Qt见解:Post 与 Get 的区别(Get将参数直接与网址整合为一个整体,而Post则将其拆为两个部分)
2016-06-10 21:34
429 查看
第一次接触Qt的Http项目,今天看了一下Post和Get的基本使用方法,就开始尝试了。原先以为Post专门用于向服务器发送请求,然后接收服务器应答的; 而Get只是单纯从服务器获取资源,比如下载这个网页,获得网页上存储的资源等。但是做项目的时候,测试的结果彻底地证明了我的天真和误解.
事实上,Post和Get都是用于向服务器发送请求的,两者都可以带参数,只不过方式略有不同而已。不同之处就在于,Get将参数直接与网址整合为一个整体,而Post则将其拆为两个部分,一部分是网址,另一个部分才是参数,并且必须为其设置报文setHeader,否则服务器是无法找到参数的。
而所谓的获取资源或者接收服务器应答,则并非由它们二者实现的,而是由QNetworkRequest向QNetworkAccessManager发送请求,由QNetworkReply从QNetworkAccessManager接收应答,最后由QNetworkAccessManager与服务器进行交互的。可以说,Post和Get是两种请求方式,它们的操作会触发QNetworkAccessManager/QNetworkRequest/QNetworkReply三者形成的Http网络机制,或者说方法依赖于机制吧。
PS: 以上言论纯属个人见解,如有错误,请留言。
关于Get 和 Post 的详细区别可以参考CSDN的文章:http://blog.csdn.net/lslxdx/article/details/7485297
文章有些老了,使用的是已经被Qt5淘汰的QHttp类,但是仍然有很大的借鉴意义,值得一看。
http://blog.csdn.net/jan5_reyn/article/details/38955715
事实上,Post和Get都是用于向服务器发送请求的,两者都可以带参数,只不过方式略有不同而已。不同之处就在于,Get将参数直接与网址整合为一个整体,而Post则将其拆为两个部分,一部分是网址,另一个部分才是参数,并且必须为其设置报文setHeader,否则服务器是无法找到参数的。
而所谓的获取资源或者接收服务器应答,则并非由它们二者实现的,而是由QNetworkRequest向QNetworkAccessManager发送请求,由QNetworkReply从QNetworkAccessManager接收应答,最后由QNetworkAccessManager与服务器进行交互的。可以说,Post和Get是两种请求方式,它们的操作会触发QNetworkAccessManager/QNetworkRequest/QNetworkReply三者形成的Http网络机制,或者说方法依赖于机制吧。
PS: 以上言论纯属个人见解,如有错误,请留言。
关于Get 和 Post 的详细区别可以参考CSDN的文章:http://blog.csdn.net/lslxdx/article/details/7485297
文章有些老了,使用的是已经被Qt5淘汰的QHttp类,但是仍然有很大的借鉴意义,值得一看。
http://blog.csdn.net/jan5_reyn/article/details/38955715
相关文章推荐
- QT VS检测内存泄漏
- Qt 技巧: 解决未解析的SSL问题
- Qt 代码: 子窗口调用父窗口(其实就是用指针直接访问)
- Qt浅译:JSON Support in Qt(JSON只有六种数据类型)
- Qt技巧:Win7下打包发布Qt程序(解释的比较清楚,把exe和dll伪装合并成一个文件)
- 让Qt支持Win7的Aero和毛玻璃效果
- Qt mac QMYSQL(动态加载插件QPluginLoader的用法)
- qt实现-给SQLITE添加自定义函数
- PyQt4 信号和槽用法总结
- Qt中添加背景图片
- A package manager for Qt
- 使用Qt installer framework制作安装包
- Qt下如何修改文件的时间(全平台修改)
- 用Qt 调用GDB调试 Arm程序 详细步骤----可单步执行每一行
- Qt下使用GDB远程调试ARM板
- Mac平台编译mupdf-qt的开源项目
- QT学习小结之鼠标事件
- Qt代码段3
- Qt 4的模态与非模态对话框用法总结
- QT中控制窗口大小