2010-01-04 1 views
3

Какая обработка выполняется на стороне клиента или на стороне сервера? для браузера на стороне клиента необходимо сначала загрузить каждый JavaScript, а на серверном программировании все происходит на сервере, не загружая ничего на ПК пользователя?Обработка на стороне клиента и обработка на стороне сервера, что происходит быстро?

Если для определенной функциональности у нас есть решение как в javascript, так и в php/asp, тогда что выбрать и почему?

+4

Ответ полностью зависит от контекста. Если мы говорим о добавлении кнопки на страницу после того, как она уже полностью отображена, выполнение этого через javascript, а не загрузка всей новой страницы будет быстрее.С другой стороны, большая часть времени визуализации страниц в настоящее время является клиентской. Если вы можете сократить эту работу, предварительно создав большую часть сервера контента и включив ее в загрузку начальной страницы, это будет иметь большое значение. Таким образом, нет правильного ответа на вопрос, который вы задали, - либо один может быть быстрее, в зависимости от обстоятельств. –

ответ

2

Загрузка JavaScript-аванса обычно выполняется быстрее, так как серверная поездка не требуется (и это сетевые операции, которые обычно являются наиболее трудоемкими).

Это означает, что there should always be a server side solution для любой существенной функциональности (поскольку поддержка JS не гарантируется), а производительность не должна быть первой, о чем вы думаете (доверие должно быть, например, вы не можете доверять коду на стороне клиента, чтобы что данные не собираются удалять вашу базу данных).

+0

u r right, но даже если javascript включен пользователем, который будет лучшим в производительности? серверная сторона будет быстрее всегда? что будет полезно для мобильных пользователей? –

+0

См. Первый абзац моего ответа. Очевидно, нет, перечитайте первый абзац. Мобильные устройства могут иметь или не иметь поддержку JS (которая может быть включена или не включена). – Quentin

1

Существует несколько факторов и несколько компромиссов, чтобы рассмотреть здесь.

Серверная машина обычно более мощная, чем клиентская машина. OTOH, как правило, гораздо больше клиентов, чем серверов. Таким образом, когда #clients превышает определенный порог, обработка на стороне клиента выполняется быстрее (серверу придется обрабатывать вычисления со всех клиентов, которые перевесят его более мощный процессор).

Но если обработка ограничена главным образом пропускной способностью сети, то есть: большая часть времени обработки расходуется на загрузку материала, а загруженный материал относительно стабилен, то он будет быстрее загружаться один раз на сервер и выполнять обработка там.

И, наконец, если результаты вычислений не меняются от одного клиента к другому, то - снова - имеет смысл вычислить его, как только и для всех, на сервере.

0

Я большой фанат, чтобы переместить все возможные процессы на browser.If таргетинг с поддержкой JS-браузеров (например: для веб-приложения)

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

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

И как только HTML, CSS и JS находятся в кеше браузера (в текущем сеансе или в предыдущем), только данные перемещаются по сети.
И если вы поместите все эти статические файлы на CDN, представьте себе прирост скорости.

Эти варианты в моем опыте дают пользователю гораздо более отзывчивый опыт.

Мы вроде с ума о скорости, и это был проект, мы взяли, чтобы построить наш веб-приложение:

  • статические файлы на CDN
  • бэкэнда служить только услуги JSON и обрабатывать безопасности
  • , и мы используем PURE для визуализации JSON на стороне HTML-клиента

 Смежные вопросы

  • Нет связанных вопросов^_^