Mar*_*ius 12 database architecture security api
今天有很多站点都有API,允许用户使用GET HTTP请求以XML或JSON的形式从站点获取数据.Flickr和del.icio.us是具有API的站点的示例.这些API要求服务器访问数据库,然后将结果输出为XML或JSON.
为什么我们需要这个翻译呢?为什么不在数据库上创建用户(例如MySQL)?将为用户提供对数据库的有限访问权限,仅允许SELECT,并且仅允许这些表中的某些表和某些列.这对于服务器来说不是更有效率(它不必处理HTTP请求),对于现在可以按照需要的方式准确访问所需数据的开发人员来说会更容易.
Mat*_*cey 11
API:
dov*_*ove 10
编码到合同 - 使用API,您可以更改其背后的所有内容,而不会影响外人使用它们.在这里,您不仅要将它们与MySQL相关联,还要将它们与您的架构联系起来
缓存 - 允许它们进行任何查询几乎消除了通过http缓存可预测查询的任何机会.这可能是消除通常排名第一的瓶颈数据库的头号方法.
安全性 - 通过这种方法,即使是偶然的事情,拒绝服务攻击也很容易.更不用说您必须提供对数据层的访问权限,这通常放在可以收紧安全性的受限区域中
可用性 - 并非每个人都是开发人员或想要了解您的内部域.他们可能更喜欢预先烘烤的直接和自我解释的API.一个极端的例子是为经理提供数据库权限而不是报告.