У меня есть страница, которая выглядит так:
<!doctype html>
<head></head>
<body>
<div>Content 1000 chars</div>
<div>Content 1000 chars</div>
<div>Content 1000 chars</div>
</body>
</html>
Когда клиент загружает страницу, в основном он загружает 3100 символов. Если он снова заходит на страницу и содержимое первого div изменяется, ему придется заново загрузить всю страницу (3100 символов).
Теперь мне было интересно, можем ли мы кэшировать фрагменты HTML так же, как мы делаем с изображениями?
Итак, я подумал, есть ли где-нибудь, чтобы получить этот эффект:
<!doctype html>
<head></head>
<body>
<div src="page1.html"></div>
<div src="page2.html"></div>
<div src="page3.html"></div>
</body>
</html>
Так что, если бы я изменил содержимое page1.html, браузер смог бы узнать, что с момента последнего посещения был изменен только page1.html, и загрузить 1000 символов вместо всей страницы (3100) символов. По сути, это поведение идентично тому, что происходит сейчас с изображениями:
<!doctype html>
<head></head>
<body>
<img src="img1.gif">
<img src="img2.gif">
<img src="img3.gif">
</body>
</html>
, при этом изменение img1.gif
вызывает браузер для повторной загрузки только img1.gif
(при условии, что все остальные файлы не были отредактированы)
Чтобы было ясно, я не ищу решение AJAX. Мне нужно решение, которое работает без JavaScript (как со всеми приведенными выше примерами). Я также не особо поддерживаю решение кадров, однако я бы принял это как ответ, если просто нет других альтернатив / причуда / хаки