通过纯AngularJS+REST API构建Web是否可行?

可以。你的描述中没有看出和 Angular 有任何关系,只是 REST API 下的问题。1. REST 本身从来没有自己的认证方式,你想怎么认证就怎么认证。可以参考 Basic Auth、OAuth、OAuth 2.0 等等认证方式。认证完了给一个 Token 就是了。2. 前端静态资源(HTML/JavaScript/CSS)就是本来用户可自由下载的,和 RESTful 没有任何关系。非静态文件一样走的后端路由自己做好校验就是。3. 通过 HTTP 协议来约束没有可能,任何基于 HTTP 或 HTTPS 的网站,管你服务器还是浏览器渲染如何认证爬虫想怎么爬怎么爬,理论上没有可能从根本上区分是爬虫还是用户操作,是不是 RESTful 都一样,顶多增加点难度比如验证码之类。要完全禁止爬虫只有和网页完全无关的方式,比如银行的支付控件,U盾等等。
■网友
最近在搞react+rest类似的东西。angular 和 restful直接连接技术上完全可以实现,甚至还很简单。先回答你的问题。1, Authentication 的关键是把token状态放入angular中。你必须要在每一个server 端对于每一个request都要设置验证,影响效率并且有overhead。验证方法可以local产生token,或者用第三方,oauth,parse(过时),weibo,wechat token等。那样你还要掣肘于他们的响应速度。2, 静态资源就是用来让人随意下载的,这种设计只能舍弃模板和layout,保护重要的数据。3, csrf是这种设计的一大缺陷。你的静态资源和rest都不被保护,任何token, 无论你放在header还是body,都会被复制。这算是这种设计的另一大缺点。此时你应该很怀念能被session保护起来的connection。


    推荐阅读