Json 在webapp中实现自定义RESTful接口时,需要考虑哪些事项?
我目前正在探索构建一个不太复杂的web应用程序的不同选项,其中涉及一些基于角色的访问控制。此外,必须对少量(大约5个)不同的数据库表执行读/写操作 我一直在考虑创建一个基于JSON的API,其中一个或多个PHP文件作为数据库顶部的一个层。webapp本身将是完全“静态”的HTML和javascript,使用XHR从服务器检索数据,并最终将内容写回服务器。一个例子是当前的Twitter主页——当查看用户的时间线时,最初的HTML中实际上没有传递推文:所有推文都是由一些漂亮的javascript获取的 我看到的一个重要缺点是,谷歌机器人很难为此类网站编制索引。应用程序的几个组件应该像普通的、发布的内容一样工作,这些内容可以毫无问题地出现在谷歌搜索结果中。例如,Twitter是如何实现这一点的?当网络爬虫接近他们的服务器时,他们是否提供不同的页面Json 在webapp中实现自定义RESTful接口时,需要考虑哪些事项?,json,web-applications,rest,web-crawler,Json,Web Applications,Rest,Web Crawler,我目前正在探索构建一个不太复杂的web应用程序的不同选项,其中涉及一些基于角色的访问控制。此外,必须对少量(大约5个)不同的数据库表执行读/写操作 我一直在考虑创建一个基于JSON的API,其中一个或多个PHP文件作为数据库顶部的一个层。webapp本身将是完全“静态”的HTML和javascript,使用XHR从服务器检索数据,并最终将内容写回服务器。一个例子是当前的Twitter主页——当查看用户的时间线时,最初的HTML中实际上没有传递推文:所有推文都是由一些漂亮的javascript获取
另外,我想听听关于这个概念的一些想法。。。对我来说,这似乎是一种非常有趣和干净的方式,可以将业务逻辑与表示分离开来,但是,像往常一样,我可能会大错特错:-)好吧,这是一个全球性的问题,需要一个大的答案:) 首先,关于你的Twitter问题,他们使用hashbang uri风格。 例如,当您转到时,系统会自动将您重定向到 当它是一个爬虫程序时,就像谷歌机器人一样,爬虫程序会改变代码>通过
?\u转义\u片段=
。
对于twitter,结果是:
我将不深入讨论细节,为了避免出现错误,最好有一个好的链接,因此我们开始:
现在,对于RESTful中的web应用程序,我非常喜欢将客户端与服务器分离的想法,我也尝试这样做
您正在谈论基于角色的访问,这意味着您必须识别您的用户,以便允许/拒绝访问api的某些部分。
关于如何在API上对用户进行身份验证,有两所学校:
- “使用基本HTTP身份验证”学校
- “使用OAuth认证/授权”学校
- 速度
- 即时效用
- 少就是多
- 使其可编程
- 干净的