FanfouAPI/FanFouAPIDoc — Issue #33: 使 API 支持 CORS
Author: upsuper
Created: 2011-12-27 14:07:04+00:00
State: open

CORS 即允许外站使用 AJAX 的方式从 API 读取数据，这一点的好处在于，很多即时应用如饭否公平等，可以直接在客户端完成，不必经过服务器，大大加快应用的访问和处理速度、提高用户体验，同时减轻服务器负担。

安全性方面，任何客户端软件所使用的 OAuth 的 Consumer Secret 从理论上都是一定可以获得的，如上次我就获得了 Android 官方客户端的 Consumer Secret，因此只要通过合理的访问限制，完全不必担心 JavaScript 程序泄露 Consumer Secret 等信息。跨站问题上也是一样的，只要 OAuth 系统没有问题、有权限的 API 没有验证漏洞就不会出现跨站问题。

同时，将程序放到客户端，避免了将验证信息传递到应用服务器，应用服务器不必知晓 Access Token 等信息，客户端直接和饭否服务器通讯，减少了数据传输的次数，反而提高了安全性。

而从技术上，CORS 只需要在返回时加入一条 Header 即可。

因此无论从安全性还是从技术上，支持 CORS 都是可行的，同时又可以帮助改进一些应用。