Тёмный

Кэширование в HTTP | Компьютерные сети 2024 - 12 

Andrey Sozykin
Подписаться 131 тыс.
Просмотров 3,6 тыс.
50% 1

Лекция по встроенной в протокол HTTP поддержке кэша.
Как поддержать курс:
- Boosty - boosty.to/asozykin
- Cloudtips - pay.cloudtips.ru/p/45a4055b
Заранее спасибо за помощь!
Сайт курса - www.asozykin.ru/courses/netwo...
Мой канал в telegram - t.me/a_sozykin
VK - avsozykin
00:00 - Кэширование в HTTP
01:25 - Заголовок Expires в HTTP
02:36 - Заголовок Cache-Control
04:13 - Conditional GET
06:24 - Ответ 304 Not Modified
07:48 - Прокси сервер в HTTP
09:39 - Реверсивный прокси сервер
11:06 - Итоги
Полезные ссылки:
- Prevent unnecessary network requests with the HTTP Cache - web.dev/articles/http-cache
- HTTP-кеширование - developer.mozilla.org/ru/docs...
- RFC 7234 Hypertext Transfer Protocol (HTTP/1.1): Caching - datatracker.ietf.org/doc/html...
Плейлист с лекциями курса - • Компьютерные сети 2024
Рекомендуемые книги:
1. Д.Ф.Куроуз, К.В.Росс. Компьютерные сети. Нисходящий подход.
2. Э.Таненбаум, Д.Уэзеролл. Компьютерные сети.
3. В.Г.Олифер, Н.А.Олифер. Компьютерные сети. Принципы, технологии, протоколы.
Мой канал с короткими и понятными объяснениями сложных тем в ИТ и компьютерных науках - @AndreySozykin

Наука

Опубликовано:

 

8 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 26   
@textreanimator
@textreanimator Месяц назад
Спасибо. Актуально. Здоровья Вам.
@AndreySozykin
@AndreySozykin Месяц назад
Пожалуйста!
@user-ol5ro8xj3p
@user-ol5ro8xj3p Месяц назад
спасибо
@AndreySozykin
@AndreySozykin Месяц назад
Пожалуйста!
@chronewhite4197
@chronewhite4197 3 дня назад
То есть схема такая: если срок Expires истёк или заголовка Expires нет & заголовка Cache-Control тоже нет то отправляется Conditional GET А то в видео не понятен этот момент)
@textreanimator
@textreanimator Месяц назад
Ещё такой вопрос. Например плагины кеширования для вордпресс позволяют отдельно настраивать кеширование для базы данных (sql запросы), php кода, и т.д. Чтобы все это не запускать каждый раз по новому. Это тоже входит в кеш, о котором лекция?
@AndreySozykin
@AndreySozykin Месяц назад
Нет, это другой кэш. Кэш - очень популярная технология в ИТ. Если обращаемся к одним и тем же данным несколько раз, и если получение данных требует времени или других ресурсов, то их обычно сохраняют в кэше где-то ближе к тому месту, где данные нужны. Это может быть кэш процессора, куда читаются данные из медленной памяти; кэш браузера, в котором сохраняются загруженные по сети страницы; кэш базы данных в памяти, куда читаются данные из файлов на диске. Но все эти кэши работают по разному и требуют знаний, чтобы их использовать эффективно. В видео я рассказываю только про кэш, который используется совместно с HTTP. Кэш в WordPress устроен по другому.
@ekaterinagalkina7303
@ekaterinagalkina7303 Месяц назад
Спасибо! А разделяемый кэш прокси-сервера только в организациях используют, или интернет-провайдер тоже использует такое?
@AndreySozykin
@AndreySozykin Месяц назад
Насколько я понимаю, сейчас интернет-провайдеры не используют прокси-серверы. Но вы можете поискать на сайте своего провайдера, если ли у него прокси-сервер, или нет. В любом случае, на своем домашнем компьютере прокси сервер нужно настраивать вручную.
@user-mx2ep1xp8o
@user-mx2ep1xp8o Месяц назад
Андрей, спасибо за информацию и труд. Подскажите, пожалуйста, какой-нибудь сайт, на примере которого можно посмотреть ответы и запросы с заголовками из Вашего видео в консоли F12.
@AndreySozykin
@AndreySozykin Месяц назад
Можно смотреть на том же сайте, networkscourse.ru. Также можно использовать любой другой сайт, даже тот, который работает по HTTPS. Браузер расшифрует сообщения и в консоли разработчика в закладке "Network" они будут показываться в открытом виде.
@user-mx2ep1xp8o
@user-mx2ep1xp8o Месяц назад
@@AndreySozykin Спасибо большое.
@MRaynold
@MRaynold Месяц назад
👍
@dhoine8464
@dhoine8464 28 дней назад
добрый день. я правильно понимаю, что разделяемый кэш можно отнести к noSQL базам и условно можно реализовать через технологию Redis или нечто похожее?
@AndreySozykin
@AndreySozykin 26 дней назад
Реализация разделяемого кэша бывает разной. На noSQL тоже можно сделать. Я для прокси сервера использую squid
@bolovy6093
@bolovy6093 Месяц назад
Добрый день, для CCNA экзамена лучше подойдет ваш старый курс или вот этот? Или оба)
@AndreySozykin
@AndreySozykin Месяц назад
В CCNA, насколько я знаю, вообще нет прикладных протоколов. Так что лучше подойдет старый курс.
@bolovy6093
@bolovy6093 Месяц назад
@@AndreySozykin Спасибо большое за информацию и годный контент 🔥
@unicoxr5tj417
@unicoxr5tj417 Месяц назад
202 Accepted - запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. Андрей, можете ли рассказать о ней подробней? Все-таки нормален ли такой ответ? Или нужно ждать после 202 еще и 200?
@AndreySozykin
@AndreySozykin Месяц назад
Сразу скажу, что на практике с таким ответом я не встречался. Что написано в RFC datatracker.ietf.org/doc/html/rfc7231#section-6.3.3: - The 202 (Accepted) status code indicates that the request has been accepted for processing, but the processing has not been completed. То есть запрос принят на обработку, но обработка не завершена. - There is no facility in HTTP for re-sending a status code from an asynchronous operation. Если получили ответ 202, то дополнительный ответ со статусом 200 не придет, т.к. в HTTP нет такой возможности. - The 202 response is intentionally noncommittal. Ответ 202 специально сделан noncommittal (не знаю, как перевести точно, без обязательств). То есть, запрос может завершиться, а может и не завершиться. - The representation sent with this response ought to describe the request's current status and point to (or embed) a status monitor that can provide the user with an estimate of when the request will be fulfilled. В сообщении со статусом 202 должна быть ссылка на монитор, по которому можно определить статус. Есть ли у вас в ответе какая-то ссылка для получения статуса?
@user-mx2ep1xp8o
@user-mx2ep1xp8o Месяц назад
Кэш браузера - это по факту Оперативная память моего компьютера или какой это ресурс физически?
@pavelrid
@pavelrid Месяц назад
Это жесткий диск компьютера
@AndreySozykin
@AndreySozykin Месяц назад
Браузер сохраняет файлы, загруженные из сети, на диск. Из памяти все данные пропадут после перезагрузки.
@user-mx2ep1xp8o
@user-mx2ep1xp8o Месяц назад
@@AndreySozykin обычно жёсткий диск медленнее оперативной памяти. Интересно, что не в оперативку заливают. Но, с другой стороны, ресурс оперативки не бесконечен.
@textreanimator
@textreanimator Месяц назад
​@@AndreySozykinс кешем браузера понятно. А есть ли кеш например у apache? Я имею в виду, если сайт на Linux машине, и идёт несколько запросов к одной и той же странице, то информация должна браться из каша. Так вот, есть ли этот кеш на стороне сервера? Где он хранится? В оперативно памяти или на диске сервера?
@pavelrid
@pavelrid Месяц назад
@@textreanimator функционал кеширования в apache достигается через модули mod_cache или mod_cache_disk. Так же я думаю есть модули для Nginx и тд. Но если реально проблемы с большим количеством запросов и нужно кеширование то лучше использовать что-то специальное типа Varnish
Далее
Becoming A World-Record Holder 🔥
01:00
Просмотров 4,5 млн
Лучший худший экран - PowKiddy RGB30
12:56
Юмор AirPods Max 😃
0:36
Просмотров 21 тыс.
НАШ ЛЮБИМЫЙ КЛИЕНТ
1:00
Просмотров 108 тыс.