Кэширование в HTTP | Курс "Компьютерные сети"
HTML-код
- Опубликовано: 11 июн 2016
- Кэширование редко изменяющихся ресурсов в HTTP. Лекции по курсу "Компьютерные сети" - goo.gl/0aIOuf
Страница курса - www.asozykin.ru/courses/networ...
Современные Web-браузеры поддерживают кэширование редко меняющихся ресурсов, что позволяет сократить время загрузки web-страниц. Поддержка кэширования встроена в протокол HTTP.
Для определения, можно ли использовать копию ресурса из кэша, используется заголовок Expires, например:
Expires: Sun, 12 Jun 2016 10:35:18 GMT
Также можно использовать эвристику на основе заголовка Last-Modified.
Запрос GET с условием (Conditional GET) - запрос Web-серверу передать ресурс, если он изменился с указанного времени.
Ответы на запрос GET с условием:
- Ресурс не изменился: короткое сообщение со статусом 304 Not Modified.
- Ресурс изменился: полная передача измененной версии ресурса, статус ответа 200 ОК.
Определение изменения ресурса в запросе Get с условием:
- По дате последнего изменения ресурса: заголовок If-Modified-Since (HTTP версия 1.0).
- По тэгу (хэшу) ресурса: заголовок If-None-Match (HTTP версия 1.1)
В HTTP версии 1.1 появился новый заголовок для управления кэшем Cache-Control. Возможные значения:
- no-store
- no-cache
- public
- private
- max-age=X (время в секундах)
Кроме кэша браузера, ресурсы могут быть сохранены на прокси-серверах и обратных прокси-серверах.
Лекция "Протокол HTTP" - • Протокол HTTP | Курс "...
Лекция "Постоянное соединение в HTTP" - • Постоянное соединение ...
Практические занятия по курсу "Компьютерные сети" - goo.gl/YP3l83
Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках:
goo.gl/kW93MA - Наука
*Готовлюсь к экзамену в вузе* - смотрю Андрея Созыкина
*Готовлюсь к собесу* - смотрю Андрея Созыкина
*Надо освежить хард-скиллы на работе* - смотрю Андрея Созыкина
Вывода два:
1) у меня не очень хорошая память
2) эти уроки - хлеб с маслом для любого, кто как-либо связан с компьютерными сетями
Аналогичная ситуация
Тяжко для начинающего , но все понятно . Спасибо за труды
Успехов! Надеюсь удастся разобраться!
Спасибо большое за отличный курс! Потратя совсем немного времени, можно не ища на каждую тему отдельно, просмотреть ваш курс и понять самый основы компьютерных сетей, знать которые будет полезно.
Спасибо! Рад, что понравилось!
Просто душевнейший мужик и канал! Спасибо за труды
Спасибо за приятный отзыв!
Спасибо, отличный курс, всё доходчево и понятно, без лишней воды. Удачи вам!
Спасибо большое Вам за уроки, очень хороший контент на канале и отличная подача. Буду ждать ролики про https протокол и про шифрование в частности!
+opp hey, запишу обязательно!
Супер курс, спасибо большое, Андрей!
Спасибо за ролики! Прекрасно и доступно объясняете. 👍
Красавчик, все ясно и понятно рассказываешь! И еще, рад, что еще остались программисты, которые выглядят, как нормальные люди, а не хипстота.
Спасибо за приятный отзыв!
Артём, полностью согласен! И про внешний вид☝🏼
Мое глубочайшее почтение !
Спасибо!
Очень крутая информация, спасибо большое!
Добрый день! Андрей, спасибо! На слайде "Запрос GET с условием" - опечатка: у Вас "Ответ содержит заголовок If-Modified-Since", а нужно "Запрос содержит заголовок If-Modified-Since"
Спасибо, исправлю, когда буду перезаписывать.
Спасибо вам, Андрей!
Пожалуйста!
Спасибо.
Qilgan bu yaxshi amallariyezni ajrini bersin.
Пожалуйста!
Сомтрю курс несколько месяцев, начала смотреть еще до войны. Я тестировщик из Киева. Время тяжелое...Спасибо за лекции.
Ох, время сейчас действительно очень тяжелое… Мне очень стыдно за то, что моя страна делает.
Надеюсь, что курсы полезны, не смотря ни на что.
@@AndreySozykin
У вас позиция здорового человека. Теперь буду смотреть дальше с ещё бОльшим удовольствием.
Надеюсь, Украина победит.
@@manOfPlanetEarth спасибо за поддержку! Хочу мир, очень устала….
@@olga7454
да на голову не налазит эта война. не представляю как вы там..
Про использование прокси-сервера интересно, хочу у себя попробовать)
Спасибо! УЧИТЕЛЬ!
Хорошее видео, спасибо
+Alexander Samuraev, пожалуйста!
Спасибо очень понравилось
Андрей, огромное спасибо за Вашу работу! Изучал по Вашим урокам компьютерные сети, прошёл собеседование!!!
Большое спасибо!
Очень полезно! Андрей отлично рассказывает. Как раз была проблема недавно. Прога на java+struts+js+tomcat каждый пункт меню стягивала заново с серва, хотя при норм поведении первая инициализация - долго, а потом все моментально. Смотрю в режиме разраба в браузер - файлы вместо диск кэшед - 304 и качаются каждый раз заново. Так и не решилась проблема, помог рестарт томката, но все может вернуться)
Скорее всего, проблемы в настройках сервера. Но, возможно, просто был баг.
Спасибо, было полезно
Пожалуйста!
классное видео
ничего лишнего все по сути
я думаю было бы актуально раскрыть такую тему как защищенные протоколы типа SSL и т п ???
Спасибо за хороши отзыв, рад, что понравилось.
Про SSL/TLS и их использование в протоколах HTTPS и др. обязательно запишу несколько лекций.
буду ждать...
Очень интересная тема, жду ваших лекций !
@@AndreySozykin , спасибо за лекции! А по SSL появилась запись? Если нет, то что посоветуете посмотреть?
@@Enerdzizer нету ничего(
Здравствуйте. Спасибо большое за ролик. Возник вопрос если допустим разрабатывать что то типа новостного приложения то всё это кэширование у клиента надо самому организовать(допустим пак новостей и если клиент просмотрел почти всё то параллельно запросить у сервера ещё пак новостей)?
У вас походу опечатка на 4-ом слайде, где "Web-сервера нА всегда устанавливают этот заголовок", т.к. вы говорите, что "Не все web-сервера устанавливают этот заголовок.."
З.Ы. а так вижу Andrey Sozykin ставлю лайк! Замечательный курс!!!
Действительно опечатка, спасибо!
спасибо
Спасибо!
Спасибо🙏
спасибо!!!
Пожалуйста!
Спасибо
Пожалуйста!
OCHEN BALSHOE SPASIBO ZA VSE VIDEO KURSI
AQROMNOE SPASIBO ZA TAKOY TRUD
MNE OCHEN PANRAVILOS I OCHEN PRIQADILOS
Ochen priznatelen
JELAYU ISHYO BOLSHE USPEXOV
+atilla atilla, спасибо за хороший отзыв!
Лекции еще не закончились, я продолжаю записывать!
budu JDat s NITERPENIEM )) vso ochen xarasho i intresno padqatovlino )
Лайк
Спасибо!
сенкью за труды
Пожалуйста!
СПС
За счёт чего увеличивается скорость получения веб страниц в случае обратного прокси если кэш находится для нас в интернете и нам всё равно нужно его скачивать? Я думал по большей части всё упирается в качество канала и пропускную способность. Имеется ввиду скорость работы протокола http в данном случае?
Нет, имеется в виду время генерации Web-страницы. Сейчас, как правило, почти все Web-сайты используют базы данных. Поэтому, посте поступления HTTP-запроса, Web-сервер обращается к базе данных. Возможно, несколько раз. Это работает достаточно медленно, особенно когда запросов к серверу много.
Обратный прокси-сервер кэширует ответ Web-сервера, и может выдавать его без повторных обращений к базе данных.
Это так же часто используется, чтобы уменьшить нагрузку на сервера. Т.е. при генерации ответа затрачивается время процессора, используется оперативная память и пр.
В случае с функциональными сайтами, БД которых активно пополняется пользователями, в этом не очень много смысла. Один несчастный новый комментарий - и весь кэш насмарку. А если вся соль использования кэширования на обратном прокси-сервере в том, что функциональность сайта слишком сложна, а БД - велика, то, как правило, тут как раз меньше всего смысла в использовании кэша, ведь сложные веб-приложения с большими часто обновляемыми БД будут крайне редко генерировать одинаковые результаты даже для большой аудитории пользователей.
@@user-gd6il5zb8l
Хорошие комментарии пишете.
Почему асинхронные запросы в курсе отсутствуют?
Потому что их нет в первой версии HTTP.
Супер, большое спасибо! ❤️🇺🇦
Пожалуйста! Рад, что понравилось!
Я не понял, куки и кэш это одно и то же?
Нет, это разные вещи.
Добрый день, долго не могу найти ответ, помогите пожалуйста. Хочется настроить кэширование сайта, только не понятно куда вписывать http заголовки, где это редактировать? В каком документе может быть? Спасибо.
разобрались?
@@manOfPlanetEarth неа
Не уловил разницу между обычным прокси и обратным. По этому описанию и тот и тот принимают запросы от клиентов и кэшируют информацию предоставляемую веб-сервером. Из объяснения мне не понятно в чем принципиальное различие. А за лекции отдельное спасибо!
Работа прокси одинаковая. Отличия в направлении передачи данных. Обычный прокси кэширует запросы клиентов в локальной сети. Чтобы не загружать из интернета одну и ту же информацию несколько раз. А обратный - ответы сервера клиентам в сети сервера. Чтобы не отправлять на сервер большое количество одинаковых запросов, для обработки которых серверу нужно выполнять сложные действия: обращаться к базе данных и т.п.
@@AndreySozykin Еще раз спасибо)
1. Обычный прокси устанавливается ближе к клиентам (в офисах, у интернет провайдера). Его задача сэкономить траффик клиентов и ускорить загрузку. Страницы с интернета загрузятся один раз, а потом будут отдаваться с прокси сервера. Локально и быстро, не тягая каждый раз из интернета.
2. Reverse прокси устанавливается ближе к серверам (у хостинг провайдеров, в облаках). Его задача снизить нагрузку на сервера. Страница на сервере может генерироваться 1-2 сек, делать запросы в БД, считывать файлы. С reverse proxy страница генерируется только один раз, далее отдаётся уже готовая (это на порядок быстрее ≈ 0,1 сек) и не нагружая основной сервер.
Когда речь о миллионах запросов - хостинг-ресурсов, веб-серверов требуется в десятки раз меньше + для клиентов страницы визуально отображаются мгновенно. Часто это существенно.
@@igor_lugis
Игорь, спасибо за содержательный комментарий!
Жаль, что вы оставили только один комментарий на этом канале:(
@@igor_lugis
но есть вопросы по п. 2
"делать запросы в БД"
А с https все тоже самое?
Я так понял, да. Ведь HTTPS - это HTTP + TLS/SSL (об этом было в одной из предыдущих лекций). И HTTP в HTTPS так же может быть разных версий.
Plus
Большое спасибо!
Пожалуйста!