Что быстрее отдать на клиент готовый html или json?
Доброго времени суток.
Не могу до конца понять, что лучше использовать: ajax => запрос на выполнение php скрипта. Далее дилемма:
1) результат можно скорячить с помощью php в банальный html и отдать в таком виде на клиент;
2) результат заджейсонить на php и в виде json отдать на клиент, где с помощью js его в DOM раскидать.
Хотелось бы от знатоков +/- услыхать. Нутром чую, что с json правильнее работать, но какие особые плюсы в том?
Если вам нужно обновить поля веб-формы, гораздо проще/быстрее/правильнее отдать JSON. Если же вы хотите подгрузить кусок страницы и вставить его, скажем, в разворачивающемся блоке (collapse) - проще/быстрее/правильнее отдать готовый HTML.
Для первой загрузки, по большей части, отдать html - быстрее.
Когда сайт уже загружен - зависит от деталей, отрендерить html из json на клиенте можно довольно быстро, т.е. вам нужно замерять как быстро срендерите html vs json на сервере, и скорость передачи - зависит от размера ответа.
Vladimir, Ну например json может выиграть если код и шаблон уже на клиенте (закеширован или сохранен), а вес json менше в 10-100 раз чем html результат.
Или например большое дерево коментариев - с json вы можете просто "выплюнуть" пачку сырых данных, а клиент сам посортирует, построит дерево, отрендерит и т.п. т.е. частично разгрузит сервер - что плюс.
кроме того для json обычно используют фреймворки, а значит само приложение может быть более продвинуто.
Ну и нужно определится на старте что у вас: сайт или веб приложение,
веб приложение (особенно если приватные данные за авторизацией): json + фреймворк
сайт: html контент + примочки на js