前言
博主不大擅长写作,但看了《高效能程序员的修炼》一书,不得不改变下自己。本文是对最近使用web service做项目时,讨论的总结。如有错误,欢迎勘正,共同提高。第一次写技术博客,难免逻辑和条理不清,也请指点。本着分享和学习的目的,欢迎拍砖!
主要分次三部分:
- Restful风格
- 开放api的技术要点
- 验签
Restful风格
传统的web服务,是在http基础上,通过SOAP和WSDL协议封装的分布式可重用组件。在概念上是基于操作的,所以服务通常用动词命名。与之相比较,Restful并不是一种技术,它是一种架构风格,在概念上它是针对资源的。资源及其状态转变可以呈现/展现(HATEOAS),这些是Restful的核心。作为http协议的主要设计者,Roy Thomas Feilding指出了人们对http协议的滥用,同时自然的利用HTTP协议原本含意来阐述 Restful Web服务。所以首先Restful Web服务是轻量级的,因其直接基于Http协议的,另外还必须符合Restful风格。这里就不再对如何使用Http动词使用作介绍了。博主觉得Resftul的难点在资源URI设计。
开放api的技术要求
资源保护
如何保护资源只供受信任的用户访问。这和正常的交互式应用一样。一般都会给受信任方发放凭证。由于web服务要求访问是无状态的。常见的实现方式有三种:
1)每次访问都验证身份: