【发布时间】:2017-03-12 08:23:21
【问题描述】:
我先解释一下我所说的“后端控制”和“前端控制”。
多年来,我一直在使用 php 框架开发 Web 应用程序。它总是由 php 后端处理所有逻辑并将“视图”发送给客户端。这就是我所说的“后端控制的 Web 应用程序”。
现在我了解了我称之为“前端控制的应用程序”的关注点分离的优势,在这种应用程序中,后端从不将 html 视图发送给客户端。它只发送数据,视图完全由客户端处理(angularjs,vuejs,...)。这使得移动应用程序最终也可以使用相同的后端(现在只是一个 REST API)。
所以现在我解释了我所说的“后端控制的 Web 应用程序”和“前端控制的 Web 应用程序”的含义,并解释了我理解前端控制的 Web 应用程序的一些优点。现在我将提到我对此的一些疑问,我期待这些疑问的答案,因为我确信有些答案是我不知道的:
在后端控制的 Web 应用程序中,表单受跨站点请求伪造保护(至少在您使用体面的后端框架时)。在后台,一个令牌被添加到会话中,以确认请求来自同一个应用程序表单。您如何在前端控制的应用程序中做到这一点?
我看到前端控制的应用程序对同一页面发出多个请求(一个身份验证请求,一个对每个组件的请求(例如网页的部分))。另一方面,我们知道“浏览”我们的资产(css 和 js)以减少对服务器的请求数量是一种很好的做法。因此,一方面向后端发出尽可能少的请求是一种好习惯,但另一方面,对于前端控制的应用程序,看到一个页面有 5 个请求(例如对后端)是很常见的-结尾。如果同一页面是后端控制的应用程序,则该页面只需要 1 个请求。
谢谢
【问题讨论】:
-
对不起;问题是什么? (即第 2 号。)
-
您将初始页面加载优化与数据请求混淆了。用 ajax 实现 csrf 也不难
-
@Progrock,1 和 2 是关于我不清楚的事情的问题/疑问。
-
@charlieft,我理解 css 和 js 的页面加载与加载 json 数据不同,我只是想知道为什么在一种情况下避免多个请求而在另一种情况下鼓励。