用HTTP进行数据交互的三个步骤
  

新手781833 699

{{ttag.title}}
在实际开发中,经常会碰到两个不同平台的系统之间需要互相交互,现在这种交互主流的做法是用HTTP,这里总结三个步骤。



一,网络互通


比如两个系统都在同一个内网网段或者都在公网上。这个时候可以用一些简单的方法来测试,比如用ping命令,在浏览器里输入网址,或者调用一些简单的测试API,先保证网络是通的,再继续下一步。



二,身份验证


之后就是身份验证,就是确保请求者(客户端)的身份是可信任的,基于HTTP的身份验证有很多种,最简单的就是basic验证,也就是只有用户名和密码,这种验证方式虽然最弱,但是对客户端没有什么要求,所以对于用户主要是C用户(某公司)的情况下一般是用这种方式,对于B用户(企业用户)来说,为了提高安全性,会使用证书验证等更加高级的验证方式。常见的SHA,X.509,SAML,OAuth等技术都是属于密钥验证,证书验证,这些技术深入了解的话可以有很多内容,不过这些技术都是为了身份验证这个目的。



HTTP客户端有很多工具,最基本的的就是浏览器(浏览器里输入网址其实就是调用HTTP的Get方法),其他常见的比如有SoapUI和Postman等,各种开发平台(比如ABAP,Java,C#)也会有自己的HTTP客户端类供开发者调用,他们的原理和实现方式是大同小异的,但是要注意的是,并不是所有的客户端工具都支持任意的验证方式的,这要看这个工具的开发者是否开发了相关的功能。一般来说basic验证是所有这类工具都支持的,其他的验证方式就要看具体客户端了。不过这些验证方式主要是为了浏览器访问服务器而设计的,所以浏览器基本都是支持的。


三,传递参数


这一步就是怎么通过HTTP方法传递并返回数据,HTTP方法能够传递数据的主要是三个地方,URL,Header和Body,理论上可以把想传递的数据放在这三个地方中任意一处,不过在实际开发里还是有一些规范的。在目前主流的RESTful调用方式里,URL一般只是用来存放查询,更新和删除的主键的;Header是用来放HTTP调用设置的,比如Content-Type等;而Body才是用来放实际的业务数据的。简单的调用,比如Body就是一个JSON文本;复杂的调用,比如batch处理或者上传文件,Body就会比较复杂,有一定的格式。


以上这三个步骤是用HTTP进行数据交互的做法的总结,具体涉及的技术可以参考各种相关的书籍和资料。另外,虽然这里只是讲HTTP,但这个思路可以用在任意系统的交互上的。

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

admin1 发表于 2019-1-9 11:46
  
赞一个!
发表新帖
热门标签
全部标签>
西北区每日一问
技术盲盒
每日一问
技术笔记
干货满满
GIF动图学习
通用技术
标准化排查
SDP百科
产品连连看
技术咨询
技术圆桌
功能体验
社区新周刊
信服课堂视频
新版本体验
2023技术争霸赛专题
秒懂零信任
自助服务平台操作指引
畅聊IT
在线直播
技术晨报
安装部署配置
sangfor周刊
VPN 对接
专家问答
高手请过招
升级&主动服务
答题自测
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
解决方案
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高频问题集锦

本版版主

461
247
13

发帖

粉丝

关注

本版达人

feeling

本周分享达人

新手29676...

本周提问达人