用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就会比较复杂,有一定的格式。
- android-async-http框架之与网络进行数据交互
- XMLHTTPRequest对象进行AJAX的异步数据交互
- XMLHttpRequest动态加载php脚本进行数据交互
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互(转)
- Android 中通过HTTPRequest 与服务端进行 JSON格式数据交互
- Android基础学习__第4天__利用HTTP进行数据交互
- android-async-http框架之与服务器进行数据交互
- 程序使用 HTTP 协议和服务器交互主要是进行数据的提交,通常数据的提交是通过 GET 和 POST 两种方式来完成
- 使用HttpURLConnection 与 sae 进行数据交互
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- 使用AngularJS的$http服务与服务端进行数据交互
- android-async-http框架之与服务器进行数据交互
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- 在REST WCF中使用HTTP Header进行数据交互
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- 使用xmlhttprequest对象来进行AJAX的异步数据交互
- android通过HttpClient与web服务端进行数据交互
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互
- Ext4核心组件Grid的变化及学习(4):grid与服务端使用direct进行数据交互