Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<script src="https://www.google.com/jsapi"></script><script>google.load("jquery", "1");google.load("jqueryui", "1");</script>MySQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1Гостевой сеанс.
Query: UPDATE `notifier` SET `closed` = true WHERE `message` LIKE '%«type»:«friend»%' AND `user` =
$('.navigation-menu').live("click", function(){
setPage($(this).attr('href'));
return false;
})
$("body").on('click', onLinkClick);
function onLinkClick(e) {
var target = e.target;
if(target.className != "navigation-menu") return;
alert($(target).html())
return false;
}
1. для получения данных нужно использовать GET, а не POST, но не потому что CRUD, REST или ещё какая аббревиатура, а потому что кэширование. советую почитать про заголовок Cache-Control. При этом урл является ключём кэша.
2. параметр в урле лучше, чем просто http-заголовок. потому что ответы сервера разные. а урл является ключём кэша. как вариант можно в ответе прописать «Vary: X-Rrequested-With», чтобы этот заголовок тоже попал в ключ, но зачем, если есть возможность изменить сам урл? ещё и в логах сервера аяксовые и обычные запросы будут отличаться урлами, и не надо будет шаманить с добавлением заголовка и туда.
это ты путаешь курицу и яичницу) семантика GETкак раз и введена для того, чтобы можно было кэшировать ответ сервера, а не ломиться на него каждый раз.
1. отсылка одной формы должна быть произведена за один запрос к одному ресурсу, а не за десять к десяти, не смотря на то, что фактически она изменяет не один ресурс, а десять.
нужно предоставлять пользователю возможность получать данные в разных представлениях. требовать от браузера поддержки всех возможных на всех сайтах видов представлений — наивно и глупо. например, диаграмма может быть представлена в виде разноцветного отрезка (нужно указать ещё и его длину), может ввиде круга (нужно указать диаметр или габариты), а может ввиде цилиндра (тут надо указать углы поворота в 3д, степень удаления и габариты области просмотра).
А задачей content negotiation является обеспечение доступности, а не предоставление выбора.
Юох… ну давайте читать спеки вместе…
www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.1
…
говоря простым языком: ресурс — это абстракция, которая может быть доступна по разных ссылкам в зависимости от требуемых соглашений приёма и передачи данных.
это только в сферическом вакууме возможен прямой маппинг ресурсов на модели с указанием отображения в заголовках. но эта абстракция сразу начинает течь, попав в реальный мир:
1. отсылка одной формы должна быть произведена за один запрос к одному ресурсу, а не за десять к десяти, не смотря на то, что фактически она изменяет не один ресурс, а десять.
Значит вы неправильно выделили сущности, сделали их слишком мелкими. Ресурсы веб-сервера не обязаны совпадать с ресурсами в БД.
а при чём тут бд? допустим я хочу сделать обновление ресурсов сайта посредством посылки архива с исходниками на определённый ресурс. посылаю на один — изменяются многие другие. в вебе это повсеместное явление. или мисье теоретик?)
не хочу я чтобы рсс читался у меня спрашивала не только ссылку на поток, но и список необходимых заголовков, чтобы получить именно поток, а не хтмл страницу. и не надо говорить про стандартизацию, с ней всё очень плохо в современном вебе.
рсс читалка… список необходимых заголовков, чтобы получить именно поток, а не хтмл
далее, совершенно не важно в какой стпени в каких спеках описано кэширование. да хоть оно вообще нигде не было бы описано — совершенно не важно. важно то, что введение ограничения «немодифицирующие запросы, надо помечать специальным словом GET или HEAD, если BODY не нужен» введено ИСКЛЮЧИТЕЛЬНО для того, чтобы можно было легко и быстро определять что можно кэшировать, а что не стоит. если бы не эта причина, формулировка была бы куда проще: get — просто получение данных, будь там хоть рандомайзер.

Но, кроме субъективного ускорения ajax дает возможности и для объективного…
отображается пустая страница (или предзагруженная в сафари), бежит прогресс-бар, идет отображение страницы… С аяксом же сайт может… показывать красивые карусельки пока соединение тупит
То есть, по вашему, если я открою 10 папок, ПЬфшд будет держать в памяти список для 10 папок?
То есть, по вашему, для каждого отображенного в списке письма GMail сразу загружает всю цепочку писем?
Заметно может быть и будет, но точно не в разы.
Открытие папки — http-запрос
Полностью загружаемое письмо — http-запрос
Загружаемые отправленные — http-запрос
И т.п.
Чудес не бывает, а ajax — не магия.
И снова повторю: марш за парту, учить cache-control
Итак, вы считаете, что упаквка ненужных запросов (цеопчки + отправленные + короткие) в один каким-то образом уменьшит количество передаваемых данных и увеличит скорость работы на порядок?
Меня всегда интересовало, почему при разработке сайтов, так редко в системе навигации используется Ajax? Ведь преимущества по-моему очевидны! Сайт на аякс работает в разы быстрее любого обыкновенного сайта
Программисты Facebook зачем-то внедрили аякс-навигацию, наверное ради развлечения, или разработчиков занять не было чем. Вконтакте с той же целью это сделал. Зачем-то и Google последовал их примеру.

Я решил ограничиться только History API и версией без аякса, чтобы не создавать для себя лишних проблем.Ну если нужен аякс в ослике, это можно легко реализовать мною написанной библиотекой: habrahabr.ru/post/144071/
if (NavigationCache[event.state.page].length>0) {
Опыт создания системы навигации на Ajax