Доброго времени суток. Клиент получает статические файлы приложения, далее 2 пути: мне нужно получить его профиль (если он авторизовался, конечно же) и контент страницы. Допустимо ли это сделать двумя отдельными ajax запросами? Или все нужно объединить в один?
Так же, при навигации в SPA профиль будет статично оставаться (меняются только данные, обмен информации происходит по сокетам), а сам контент постоянно меняться.
darksladen, не совсем понял вопрос про меню и слайдеры. про какие 100 запросов идёт речь? у вас есть меню. всю её структуру можно получить одним запросом, это одна сущность - меню. то же и про слайдер у вас есть массив слайдов, которые вы хотите отобразить - информацию об этом массиве вы получаете одним запросом. если содержимое слайдов динамическое - данные для каждого слайда нужно подгружать отдельным запросом - это уже отдельная сущность, да и отзывчивость страницы это увеличит - пользователю не нужно ждать загрузки информации обо всех слайдах, чтобы начать просматривать первый.
Aleksei Podgaev, вы так сервер не задосите? Я же пример привел.. Этих сущностей может быть десятки и вы будете на каждую делать запросы? При чем, вы хотите вообще у сервера по 1 слайду запрашивать??? Так у вас будет не 100, а в лучшем случае 1000 запросов.. Так сервер упадет просто! Что будет если одновременно 10 человек зайдет?
darksladen, насколько я понимаю в один конкретный момент посетитель просматривает один слайд, а не всю 1000 правильно? Зачем грузить всю тысячу, если посетитель, возможно, даже до третьего не дойдёт? Я бы предложил сделать в данном случае ленивую загрузку - грузить сразу только начальный слайд и один-два следующих, а при прокручивании слайдера подгружать следующие. Во-вторых, что это за сервер такой, что от 1000 запросов падает? Если запрос достаточно мелкий, то и обрабатываться на сервере он должен быстро. А значит сервер должен быть способен обрабатывать много таких запросов одновременно. В идеале вообще лучше сделать кэширование содержимого этих слайдов и отдавать их через ngnix.
darksladen, я не совсем представляю, что за систему вы строите, но обилие слайдеров и меню на странице - это не очень хороший UX. Для какой-нибудь корпоративной системы, которая работает в локальной сети это может быть нормально, но для системы ориентированной на пользователей интернета перегруженный интерфейс не самый лучший товарищ.
darksladen, да, я настаиваю на том, что не нужно изобретать преждевременной оптимизации и объединять запросы для разнородных сущностей в один запрос. Реализуйте сначала по-простому - на каждую сущность по запросу. Но при этом думайте об удобстве пользователя и не грузите то, что пользователю никогда может не понадобиться.
Aleksei Podgaev, я нашел решение. Недавно зашел на сайт duolingo и посмотрел как там сделано.. Вообщем у них всего отправляется 1 запрос и в нем указывается в массиве, какие данные серверу нужно предоставить. Думаю это самый лучший подход