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

Поділитися
Вставка
  • Опубліковано 18 тра 2024
  • Лекция по встроенной в протокол HTTP поддержке кэша.
    Как поддержать курс:
    - Boosty - boosty.to/asozykin
    - Cloudtips - pay.cloudtips.ru/p/45a4055b
    Заранее спасибо за помощь!
    Мой канал в telegram - t.me/a_sozykin
    VK - avsozykin
    Мой сайт - www.asozykin.ru
    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
  • Наука та технологія

КОМЕНТАРІ • 25

  • @textreanimator
    @textreanimator 13 днів тому +5

    Спасибо. Актуально. Здоровья Вам.

  • @user-ol5ro8xj3p
    @user-ol5ro8xj3p 10 днів тому +1

    спасибо

  • @MRaynold
    @MRaynold 11 днів тому

    👍

  • @ekaterinagalkina7303
    @ekaterinagalkina7303 9 днів тому +1

    Спасибо! А разделяемый кэш прокси-сервера только в организациях используют, или интернет-провайдер тоже использует такое?

    • @AndreySozykin
      @AndreySozykin  9 днів тому

      Насколько я понимаю, сейчас интернет-провайдеры не используют прокси-серверы. Но вы можете поискать на сайте своего провайдера, если ли у него прокси-сервер, или нет. В любом случае, на своем домашнем компьютере прокси сервер нужно настраивать вручную.

  • @user-mx2ep1xp8o
    @user-mx2ep1xp8o 12 днів тому +1

    Андрей, спасибо за информацию и труд. Подскажите, пожалуйста, какой-нибудь сайт, на примере которого можно посмотреть ответы и запросы с заголовками из Вашего видео в консоли F12.

    • @AndreySozykin
      @AndreySozykin  11 днів тому

      Можно смотреть на том же сайте, networkscourse.ru.
      Также можно использовать любой другой сайт, даже тот, который работает по HTTPS. Браузер расшифрует сообщения и в консоли разработчика в закладке "Network" они будут показываться в открытом виде.

    • @user-mx2ep1xp8o
      @user-mx2ep1xp8o 11 днів тому +1

      @@AndreySozykin Спасибо большое.

  • @textreanimator
    @textreanimator 12 днів тому +2

    Ещё такой вопрос. Например плагины кеширования для вордпресс позволяют отдельно настраивать кеширование для базы данных (sql запросы), php кода, и т.д. Чтобы все это не запускать каждый раз по новому. Это тоже входит в кеш, о котором лекция?

    • @AndreySozykin
      @AndreySozykin  12 днів тому +2

      Нет, это другой кэш.
      Кэш - очень популярная технология в ИТ. Если обращаемся к одним и тем же данным несколько раз, и если получение данных требует времени или других ресурсов, то их обычно сохраняют в кэше где-то ближе к тому месту, где данные нужны. Это может быть кэш процессора, куда читаются данные из медленной памяти; кэш браузера, в котором сохраняются загруженные по сети страницы; кэш базы данных в памяти, куда читаются данные из файлов на диске. Но все эти кэши работают по разному и требуют знаний, чтобы их использовать эффективно.
      В видео я рассказываю только про кэш, который используется совместно с HTTP. Кэш в WordPress устроен по другому.

  • @bolovy6093
    @bolovy6093 13 днів тому +1

    Добрый день, для CCNA экзамена лучше подойдет ваш старый курс или вот этот? Или оба)

    • @AndreySozykin
      @AndreySozykin  13 днів тому

      В CCNA, насколько я знаю, вообще нет прикладных протоколов. Так что лучше подойдет старый курс.

    • @bolovy6093
      @bolovy6093 12 днів тому +1

      @@AndreySozykin Спасибо большое за информацию и годный контент 🔥

  • @unicoxr5tj417
    @unicoxr5tj417 12 днів тому +1

    202 Accepted - запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. Андрей, можете ли рассказать о ней подробней? Все-таки нормален ли такой ответ? Или нужно ждать после 202 еще и 200?

    • @AndreySozykin
      @AndreySozykin  12 днів тому +1

      Сразу скажу, что на практике с таким ответом я не встречался. Что написано в 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 должна быть ссылка на монитор, по которому можно определить статус. Есть ли у вас в ответе какая-то ссылка для получения статуса?

  • @dhoine8464
    @dhoine8464 8 днів тому +1

    добрый день. я правильно понимаю, что разделяемый кэш можно отнести к noSQL базам и условно можно реализовать через технологию Redis или нечто похожее?

    • @AndreySozykin
      @AndreySozykin  5 днів тому

      Реализация разделяемого кэша бывает разной. На noSQL тоже можно сделать.
      Я для прокси сервера использую squid

  • @user-mx2ep1xp8o
    @user-mx2ep1xp8o 12 днів тому +1

    Кэш браузера - это по факту Оперативная память моего компьютера или какой это ресурс физически?

    • @pavelrid
      @pavelrid 12 днів тому +1

      Это жесткий диск компьютера

    • @AndreySozykin
      @AndreySozykin  12 днів тому

      Браузер сохраняет файлы, загруженные из сети, на диск. Из памяти все данные пропадут после перезагрузки.

    • @user-mx2ep1xp8o
      @user-mx2ep1xp8o 12 днів тому

      @@AndreySozykin обычно жёсткий диск медленнее оперативной памяти. Интересно, что не в оперативку заливают. Но, с другой стороны, ресурс оперативки не бесконечен.

    • @textreanimator
      @textreanimator 12 днів тому

      ​@@AndreySozykinс кешем браузера понятно. А есть ли кеш например у apache? Я имею в виду, если сайт на Linux машине, и идёт несколько запросов к одной и той же странице, то информация должна браться из каша. Так вот, есть ли этот кеш на стороне сервера? Где он хранится? В оперативно памяти или на диске сервера?

    • @pavelrid
      @pavelrid 12 днів тому +2

      @@textreanimator функционал кеширования в apache достигается через модули mod_cache или mod_cache_disk. Так же я думаю есть модули для Nginx и тд. Но если реально проблемы с большим количеством запросов и нужно кеширование то лучше использовать что-то специальное типа Varnish