I will explain first what I mean by "back-end controlled" and "front-end controlled".
I have been developing web applications for many years with php frameworks. It was always with the php back-end handling all the logic and also sending the "views" to the client. This is what I call a "back-end controlled web application".
Now I understand the advantage of separation of concerns of what I call a "front-end controlled application" where the back-end never sends the html views to the client. It only sends data and the view is completely handled by the client (angularjs, vuejs, ...). This allows the same back-end (which is now just a REST API) to be used also by a mobile application eventually.
So now I explained what I mean by "back-end controlled web application" and "front-end controlled web application" and explained that I understand some of the advantages of front-end controlled web applications. Now I will mention some of the doubts that I have regarding this, and I am expecting answers to these doubts because I am sure there are answers that I am just not aware of:
In a back-end controlled web application the forms are Cross-Site Request Forgery protected (at least when you use a decent back-end framework). Behind the scene a token is added to the session to confirm that the request comes from the same application form. How do you do that in a front-end controlled application?
I have seen front-end controlled applications making multiple requests for the same page (one request for authentication, and a request for each component (say section of the web page)). On the other hand we know that it is a good practice to "browserify" our assets (css and js) to reduce the number of requests to the server. So, on one hand making as few requests to the back-end as possible is a good practice but on the other hand, with front-end controlled applications, It is very common to see a page that has 5 requests for example to the back-end. The same page would have needed only 1 request if it was a back-end controlled application.
Thanks