Веб-сайт asp.net - должны ли манипуляции со строками выполняться на сервере или клиенте? - PullRequest
0 голосов
/ 18 июля 2009

У меня есть вопрос дизайна. У меня есть веб-сайт, где пользователи вводят короткие сообщения, и они отображаются для других пользователей. Иногда эти сообщения имеют форматирование, поэтому мне нужно манипулировать строками. Я могу сделать это либо на сервере, либо на клиенте. Мой вопрос: где это должно произойти?

Если это происходит на сервере, то нагрузка на сервер возрастает, а объем данных передается клиенту. Однако серверный компьютер обычно будет «лучше», чем тот, который есть у пользователей.

Если это происходит на клиенте, манипулирование строками компенсируется пользователями, но я не уверен, насколько эффективна манипуляция строками javascript / jquery.

Есть мысли по этому поводу?

Ответы [ 4 ]

2 голосов
/ 18 июля 2009

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

0 голосов
/ 18 июля 2009

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

0 голосов
/ 18 июля 2009

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

Если вы можете гарантировать, что javascript включен, то выгрузка его клиенту действительно сократит множество дополнительных мини-процессов на сервере при каждом вызове и распределит эту нагрузку на клиента, что здорово.

На что следует обратить внимание ... если вы делаете это только в javascript, у вас нет гарантии, что вы получаете, поскольку вы не проверяете / не очищаете строку на сервере. Это может быть опасно в зависимости от того, как вы отправляете эту информацию другим пользователям. Подумайте только о атаках с использованием JavaScript.

Если вы делаете это на сервере, вам не нужно об этом беспокоиться, потому что вы можете гарантировать, что вы отправляете именно то, что вам нужно, вместо того, чтобы просто проходить через все и надеяться, что JavaScript у вас есть. покрыты.

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

0 голосов
/ 18 июля 2009

В зависимости от вашего определения short (> 1024 символа мне подходит), вам придется пролистывать МНОГО из них, чтобы они были значимыми для вашего сервера.

Тем не менее, чем меньше вы можете совершить поездок от клиента к серверу, тем лучше. Попробуйте сначала сделать это в JavaScript. Затем переместите его на сервер, если необходимо.

...