http协议的请求方法http0定义了三种请求方法:get,post,headhttp1新增了五种请求方法:options,put,delete,trace,connectGet:请求指定的页面信息,并返回实体。Get可以说是最常见的,它本质就是发送一个请求来获取服务器上的某一资源,资源通过一组http头和呈现数据返回给客户。Head:类似于get请求,只不过返回的响应中没有指定的内容,用于获取报头。Post:向服务器提交数据。这个方法用途广泛,几乎所有的提交操作都是靠这个完成。Put:从客户端向服务器传送的数据取代指定的文档的内容。Put与post都是向服务器发送数据,他们之间有一个重要的区别,put通常指定了资源的存放位置,而post没有,post的数据存放位置由服务器自己决定。Delete:请求服务器删除指定的页面。删除某一个资源Connect:http1协议中预留给能够将链接改为管道方式的代理服务器。Options:允许客户端查看服务器的性能。返回服务器针对特定资源所支持的http请求方法。Trace:回显服务器收到的请求,主要用于测试或者诊断。注意:1方法名称区分大小写,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405;当服务器不认识或者不支持对应的请求方法时,应返回状态码502http服务器至少应该实现get,post,head方法,其他方法都是可选的,此外除上述方法,特定的http服务器支持扩展自定义方法。接口规范和接口文档接口规范的重要性无规矩不成方圆,为了app开发人员与后台接口开发人员更好的配合,所以我们需要制定接口规范。接口,是APP端与服务器端交互密不可分的环节,接口的规范性会直接影响双方对接过程中的效率和质量。本着快速高效开发的目的性,避免对接过程中的错误率,接口应当有规范的约束。{“list”:[{“name”:“张三”,“id”:“100”},{“name”:“李四”,“id”:“101”}],“object”:{“title”:“demo”,},“message”:“数据加载成功”,“status”:“SUCCESS”,“page”:“1”,“number”:“2”,}List:只存储list数据,为空时也返回一个空的list。Object:只存储实体类数据。Message:返回的提示消息。例如:加载成功,查询失败,登录成功等Status:接口状态,比如SUCCESS-成功,ERROR-失败。Page和number:其他可选字段,例如页数,list条数等根据项目需求来指定字段。
接口文档后台接口人员和移动端开发人员之间的配合肯定少不了接口文档这种利器!像中大型项目可能一个接口包含的字段就有上百个,如果没有接口文档,仅仅靠两个人口头交流,那估计一天就能搞定几个接口配合。接口文档有哪几种形式哪?1Excel,Word等文档形式。2接口管理开源网站Eolinker
一个完整的接口需要由以下几部分组成请求地址http://120.0.1:8080/x/xx/xxx请求方式post,get请求参数id:‘1’,name:‘小明’返回参数json返回实例接口的编写和接口的数据格式接口存在的意义就是实现‘多重继承’,准确的来说应该叫做‘多重实现’,因为一个PHP类只能有一个父类,而一个类却可以实现多个接口。现在主流的通信接口返回的数据主要有json和xml两种格式。Json的优势是生成方便,体积小,更便于传输,缺点是不便于阅读。Xml的优点是便于阅读,但是体积大,生成较json要麻烦的多。
Json方式封装通信接口
Xml方式封装通信接口使用postman和fiddler测试接口数据postmanPostman是一个Chrome扩展,能提供强大的webapi&http请求调试功能。Postman能够发送任何类型的http请求,支持get,put,post,delete等,请求头中可以附带任何数量的headers信息。Postman支持不同的认证机制Postman非常简单易用,通过填写url,header,body等就可以发送一个请求,这对于我们平时做一些简单的测试是够用的。Postman有一个‘集合’功能,用于存储所有请求相同的api/域,这个功能能方便我们重新发送请求。
FiddlerFiddler是好用的webapi调试工具之他能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,fiddler是以代理web服务器的形式工作的,使用fiddler无论对开发还是测试来说,都有很大帮助。浏览器跟服务器交互的真个生命周期浏览器和服务器交互是通过socket浏览器和服务器交互的语法:http协议浏览器要和服务器交互的目的:获取服务器资源服务器要做的就是想尽办法,满足浏览器的需求。所以一旦浏览器请求的是动态页面的时候,服务器就要创建页面类的对象并执行里面的方法,最后将生成的html代码返回给浏览器。
浏览器服务器交互详解:->>>首先是(client客户端)端向服务器发起请求通过socket建立通道,如果服务器发现是自己可以处理的静态页面,那么服务器就会找到相应的html页面,就直接返回客户端需要的html代码,如果发现是自己解决不了的动态页面,服务器就会找到自己和框架之间互相通信的API:API又将请求网站程序,网站程序调用HttpRuntime类的静态方法处理请求,接下来HttpRuntime将分析client端发送过来的请求报文,将请求报文封装到一个叫做HttpWorkerRequest类对象中。创建HttpContext对象,在这里就需要使用到HttpWorkerRequest了,其中HttpContext中主要包括了HttpRequest(ps:其中包含了客户端所有的请求信息:Form,QueryString查询字符串…)和HttpResponse对象用来保存要向客户端输出的信息)通过HttpApplicationFactory(HttpApplication工厂)【HTTP应用程序工厂】先检查有没有现成的HttpApplication,如果有,直接拿过来用,没有则创建一个新的来使用,因为HttpRuntime不能处理那么多请求所以每一个请求就创一个HttpApplication对象来处理。接下HttpApplication对象调用ProcessRequest(处理请求)执行其中的19个委托对象(也叫做执行请求管道),在第八个事件时通过反射的方式创建被请求的页面类对象,并转成IHttpHandler接口(ps:转成接口为了统一调用,让服务器识别,不然服务器不知道如何调用),接下来在第十一个事件和第十二事件之间,执行页面类对象里面的ProcessRequest方法,其实ProcessRequest调用的父类的ProcessRequest方法,在父类的方法中,父类调用了父类的FramworkInitalize()方法,但因为页面类重写了此方法,所以执行的就是当前页面类的FramworkInitalize(),在这个方法中就包含创建控件树的方法_buildControTree()方法,最后在调用ProcessRequestMain方法,在此方法中完成整个页面生命周期.
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点