Обработка данных на стороне сервера и на стороне клиента

#php #javascript #client-side #server-side

#php #javascript #на стороне клиента #на стороне сервера

Вопрос:

Я использую PHP для извлечения финансовых данных из yahoo. Затем я отправляю данные в формате JSON в один из моих блогов Typepad и получаю их с помощью JavaScript.

Быстрее ли обрабатывать данные на стороне сервера, а затем отправлять подмножество JSON в JavaScript. Или было бы лучше отправить все это целиком, а затем обработать с помощью JavaScript на стороне клиента?

Как мне научиться самостоятельно выполнять этот тип анализа компромиссов?

Ответ №1:

В основном хорошая оценка. Отправка больших объемов данных клиенту для обработки повлечет за собой накладные расходы клиента и сделает их просмотр менее приемлемым. Обработка данных на стороне сервера увеличит нагрузку вашего сервера на клиента.

Это обычная ситуация, наблюдаемая с большими таблицами данных, которые можно сортировать или разбивать на страницы. Вы можете либо сделать это полностью в браузере, либо включить сортировку и распределение на стороне сервера. Мое эмпирическое правило таково: если у меня более 10 тысяч ячеек (10 столбцов х 1000 строк), то мне, вероятно, следует включить обработку на стороне сервера, а не оставлять это на усмотрение клиента. Это особенно верно на старых машинах с дерьмовый медленные движки JavaScript.

Комментарии:

1. У меня нет даже близко такого объема данных, и моя главная забота заключается в том, чтобы страница загружалась как можно быстрее. Я склоняюсь к обработке на стороне сервера, основываясь на втором ответе. Спасибо за ваш ответ 🙂

Ответ №2:

Я с уверенностью могу предположить, что у моих клиентов будет самый дерьмовый компьютер, и заставлять их выполнять обработку — это не совсем то, чего я хочу. Поэтому я в основном выполняю обработку на стороне сервера — если только это не действительно базовые вещи, такие как простая сортировка и т.д. И т.п.

Также не предполагайте, что JavaScript включен. Вам придется изящно отступить, и для этого все равно потребуется, чтобы сервер выполнил обработку.

Комментарии:

1. Действительно хороший момент предположить дерьмовый компьютер и отсутствие JavaScript. Спасибо/

Ответ №3:

Ну, это зависит. Если вы обрабатываете данные на стороне сервера, вам придется дождаться возврата от Yahoo! а затем выведите результирующую JSON и HTML-страницу.

Если вы обрабатываете данные на стороне клиента (т. е. вы делаете запросы с помощью javascript), у вас будет загруженная страница, и вы можете предоставить пользователю какое-либо уведомление о том, что данные загружаются.

Насчет того, что будет быстрее — лучше запустите несколько тестов. Это лучший способ увидеть 🙂