УВЕДОМЛЕНИЕ: Я заменил свою систему опроса на
websockets
, но Я все еще хочу знать ответ на мои вопросы выше.
Я пытаюсь уменьшить запрос AJAX системы сообщений с традиционным опросом, но я не знаю, как ее получить:
$chatbox = $("#chatbox");
setInterval(function(){
// I send the sha1 of the chatbox html content to verify changes.
$.post("post.php", {checksum: hex_sha1($chatbox.html())}, function (data, status) {
switch (status) {
case "success":
// If version of "post.php" checksum is different than mine (there are changes) data isn't empty; I assign data as the new content of the chatbox.
if(data){
$chatbox.html(data);
$chatbox.scrollTop($chatbox[0].scrollHeight);
}
break;
default:
$chatbox.html('Connection error...');
break;
}
});
}, 1000);
Ну, как вы видите, я использую setInterval()
с 1000
miliseconds в качестве параметра, и благодаря системе контрольной суммы SHA1
я могу уменьшить размер всего ответа AJAX до 343 B
(кроме случаев, когда post.php ", очевидно, возвращает новое сообщение)
Вопросы:
-
Почему все мои запросы AJAX имеют один и тот же размер (
343 B)
, хотя я меняю SHA1 (20 B
) hash MD5 (16 B
)? -
Моя переменная контрольной суммы (SHA1) занимает
20 B
: Где остальные323 B
? -
Могу ли я уменьшить размер запроса AJAX? Как?
Примечание:
hex_sha1()
представляет собой реализацию алгоритма SHA1 для Javascript: http://pajhome.org.uk/crypt/md5/sha1.html
ПРИМЕЧАНИЕ 2:
К сожалению, я не могу использовать технологию Server-Push Technique, например
node.js
. Я могу использовать только Javascript (на стороне клиента) и PHP.