УВЕДОМЛЕНИЕ: Я заменил свою систему опроса на
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.