Парни, столкнулся для себя со сложным выбором в данной ситуации.
Делаю приложение python(django)+js
На js вывожу графики через canvas.
Но что бы получить данные для графиков я делаю запрос к серверу. И в итоге у меня получается два запроса на сервер.
Первый я открыл страницу, второй, запросил данные у сервера для графиков.
В перспективах масштабирования, это как-то не правильно.
Вопрос, как в такой ситуации делают грамотные программисты? Ведь я же не могу из сервера построить график на canvas и "выплюнуть" его на страницу. Делать по два запроса, как я говорил это не грамотно. К тому же данные динамичные, они могут меняться хоть раз в год, хоть раз в минуту, условно.
Вопрос о кешировании, это понятно, но сейчас вопрос, как избавиться от второго запроса к серверу((
Можно и на сервере сгенерировать картинку с графиком. Но картинка пойдет отдельным запросом же? :) (если не заморачиваться с data-uri)
Можно вшить все данные для графика в тело страницы.
Можно почитать что-нибудо о кешировании.
Можно посмотреть, что страница, на которй ты читаешь этот текст, делает 76 запросов. И норм.
Можно посмотреть на амазон или алиекспресс, и поудивляться сколько там запросов.
Можно почитать про HTTP/2 и конвейеризацию.
логично выбирать данные для графика во время получения прочих данных для отображения страницы, пихать их, например, в json и на клиенте яваскриптом строить по ним график, куда уж проще.