пїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
На базе нашего опыта и статей мы сделалем еще один полезный документ: руководство администратора по Linux/Unix системам. В документе мы описали самые частые сценарии повседневной работы администратора, с которыми встречались сами.
От Ubuntu до FreeBSD, от 10 команд, которые "убьют" твой сервер до 15 лучших дистрибутивов Linux, от установки RPM до принципов работы с CURL.
Получившееся руководство администратора по Linux/Unix можно получить по ссылке ниже:
Скачать
Управление кэш-памятью определяет поведение кэширования для веб-сайта, давая браузерам понять, как часто следует обновлять локально хранящиеся ресурсы.
Что такое cache-control?
Cache-control – это HTTP-заголовок, который определяет поведение браузера при кэшировании. Проще говоря, когда кто-то посещает веб-сайт, то его браузер сохраняет определенные ресурсы, такие как изображения и данные веб-сайта, в хранилище, которое называется кэш. Когда пользователь вновь посещает этот веб-сайт, то cache-control диктует правила, которые определяют, будут ли эти ресурсы загружены из локального кэша данного пользователя, или браузер должен отправить запрос на сервер для получения новых ресурсов. Для более глубокого понимания, что такое cache-control необходимо базовое понимание того, что такое кэширование в браузере и что такое HTTP-заголовки.
Что такое кэширование в браузере?
Как уже было описано выше, кэширование в браузере – это когда веб-браузер сохраняет ресурсы веб-сайта, чтобы не запрашивать их вновь с сервера. Например, фоновое изображение веб-сайта может быть сохранено локально в кэше, чтобы при повторном посещении пользователем данного веб-сайта изображение загружалось из локальных файлов пользователя, и тем самым страница загружалась бы быстрее.
Браузеры хранят эти ресурсы в течение определенного периода времени, известного как время жизни информации (TTL - Time To Live). Если пользователь запросит кэшированный ресурс после истечения TTL, то браузеру придется снова обратиться к серверу, чтобы загрузить новую копию ресурса. Как браузеры и веб-серверы узнают TTL для каждого ресурса? Вот здесь в игру вступают HTTP-заголовки.
Что такое HTTP-заголовки?
Протокол передачи гипертекста (HTTP - Hypertext Transfer Protocol) представляет собой синтаксис для обмена данными во Всемирной паутине, и этот обмен данными состоит из запросов от клиентов к серверам и ответов от серверов к клиентам. Каждый из HTTP-запросов и ответов содержит ряд пар «ключ-значение», которые называют заголовками.
Заголовки содержат большое количество важной информации о каждом сообщении. Например, заголовок запроса обычно содержит:
Информацию о том, какой ресурс запрашивается
Информацию о том, какой браузер использует клиент
Информацию о том, какие форматы данных примет клиент
Заголовки ответов обычно содержат информацию о:
Успешности выполнения запроса
Языке и формате любых ресурсов в теле ответа
Заголовок cache-control может использоваться как в HTTP-запросах, так и в HTTP-ответах.
Что находится внутри заголовка cache-control?
Заголовки состоят из пар «ключ-значение», разделенных двоеточием. Для cache-control «ключ», или часть слева от двоеточия, - это всегда «cache-control». «Значение» - это то, что находится справа от двоеточия. Значений для cache-control может быть несколько, или оно может быть одно. Если их несколько, то они разделяются запятыми.
Эти значения называются директивами, и они определяют, кто может кэшировать ресурс, а также как долго эти ресурсы могут быть кэшированными, прежде чем их необходимо будет обновить. Давайте рассмотрим несколько наиболее распространенных директив cache-control:
cache-control: private
Ответ с директивой private может быть кэширован только клиентом, но никак не посредником, таким как CDN или прокси-сервером. Часто сюда относятся ресурсы, которые содержат личные данные, например, веб-сайт, отображающий личную информацию пользователя.
cache-control: public
Здесь наоборот, директива public говорит о том, что ресурс может хранится в любом кэше.
cache-control: no-store
Ответ с директивой no-store нельзя кэшировать нигде и никогда. Это означает, что при каждом запросе пользователем этих данных, требуется отправить запрос на исходный сервер для их получения. Эта директива, как правило, используется для ресурсов, содержащих конфиденциальные данные, например, информацию о банковском счете.
cache-control: no-cache
Эта директива означает, что кэшированные версии запрошенного ресурса нельзя использовать без предварительной проверки наличия обновленной версии. Обычно это делается с помощью ETag.
ETag – это еще один HTTP-заголовок, который содержит маркер, уникальный для версии ресурса на момент его запроса. Этот маркер меняется на исходном сервере при каждом обновлении ресурса.
Когда пользователь возвращается на страницу с ресурсом под директивой no-cache, клиенту всегда придется подключаться к исходному серверу и сравнивать ETag на кэшированном ресурсе с ETag на сервере. Если они совпадают, то кэшированный ресурс предоставляется пользователю. В противном случае, это означает, что ресурс был обновлен, и клиенту необходимо загрузить обновленную версию, чтобы иметь возможность предоставить его пользователю. Этот процесс гарантирует, что пользователь всегда будет получать самую последнюю версию ресурса без ненужных постоянных загрузок.
cache-control: max-age
Эта директива определяет время жизни информации, или, иными словами, сколько секунд ресурс может находиться в кэше после его загрузки. Например, если max-age установлен на 1800, то это значит, что в течение 1800 секунд (30 минут) после того, как ресурс был впервые запрошен с сервера, пользователю будет предоставляться кэшированная версия этого ресурса при последующих запросах. Если пользователь запросит этот ресурс снова по истечении этих 30 минут, то клиенту необходимо будет запросить новую копию с исходного сервера.
Директива s-maxage предназначена специально для общих кэшей, таких как CDN. Она определяет, как долго эти общие кэши могут продолжать обслуживать ресурс из кэша. Эта директива отменяет действие директивы max-age для некоторых клиентов.
Почему cache-control так важен?
Кэширование в браузере – это отличный способ сохранить ресурсы и, тем самым, улучшить процесс взаимодействия с пользователем в Интернете, но без cache-control этот процесс не был бы столь надежным. Все ресурсы на всех сайтах будут использовать одни и те же правила кэширования, а это значит, что конфиденциальная информация будет кэшироваться также, как и общедоступная информация, а ресурсы, которые часто обновляются, будут кэшироваться на то же время, что и ресурсы, которые редко обновляются.
Cache-control добавляет гибкости, которая делает кэширование в браузере действительно полезным, позволяя разработчикам определять, как будет кэшироваться каждый ресурс. Этот заголовок также позволяет разработчикам устанавливать определенные правила для посредников, что является причиной, по которой сайты, которые используют CDN, как правило, работают лучше, чем сайты, которые этого не делают.
Если вы когда-нибудь видели файл с расширением
.xml
и думали о том, что же это такое, то вы в этом не одиноки.
Дальше вы узнаете, что такое XML-файл и как его можно открыть локально на вашем компьютере и через онлайн-редактор.
Что такое XML-файл?
XML расшифровывается как Extensible Markup Language (расширяемый язык разметки). Он был создан консорциумом W3C (World Wide Web Consortium – Консорциум Всемирной Паутины) в 90-х годах.
Несмотря на то, что и XML, и HTML являются языками разметки, которые удобны для восприятия, они все же имеют совершенно разные назначения. HTML описывает структуру веб-страницы и ее содержимое, а XML – структуру данных.
XML предоставляет программам и, что не менее важно, программистам стандартный общепризнанный формат передачи данных между различными системами. Получается, что XML имеет больше общего с JSON, нежели с HTML.
При том, что XML больше не является приоритетным методом организации и передачи данных, он все еще остается на своем месте. XML по-прежнему используется во многих системах предыдущего поколения, и к тому же на формате XML основаны RSS и SVG.
Ниже приведен простой пример XML-файла и того, как он используется для структурирования данных:
-
Triblend T-shirt
$24.99
Represent the freeCodeCamp community with pride in this jet-black Triblend T-shirt featuring the iconic "bonfire function call" logo.
-
Cotton-Poly Pullover Hoodie
$49.99
Stay toasty and dress like a developer with this jet-black cotton-poly pullover hoodie.
-
Ceramic Coffee Mug
$14.99
Toast to the developer community with your very own freeCodeCamp Bonfire Function Call mug.
Пример файла
fcc-merch.xml
Как открыть XML-файл локально?
Перейдем в папку загрузок и найдем там файл с расширением
.xml
.
Если вам когда-нибудь потребуется открыть XML-файл, то для этого у вас есть далеко не один вариант. Главный вопрос состоит в том, нужно ли вам редактировать данные в XML-файле или вы просто хотите его просмотреть.
Просмотр XML-файла в браузере
Если все, что вам необходимо, это просмотреть данные в XML-файле, то вам повезло. Открыть XML-файл можно практически в любом браузере.
В браузере Chrome вы можете просто открыть новую вкладку и перетащить туда XML-файл. Или вы можете щелкнуть XML-файл правой кнопкой мыши и навести курсор на «Открыть с помощью», а затем выбрать «Chrome».
После того, как вы это сделаете, файл откроется в новой вкладке.
Ниже показано, как файл
fcc-merch.xml
выглядит в Chrome:
Примечание
: действия для вашей операционной системы могут немного отличаться.
Редактирование XML-файла с помощью текстового редактора
Если вам нужно отредактировать XML-файл локально или если вы хотите просмотреть файл не в браузере, то лучшим решением будет сделать это в текстовом редакторе.
Есть много вариантов в зависимости от операционной системы. Ниже приведены самые простые:
Windows:
Notepad++
Mac/Linux/Windows:
VSCode
Atom
Sublime Text
Имейте в виду, что VSCode, Atom и Sublime Text – довольно серьезные программы, особенно если все, что вам нужно, это просто отредактировать XML-файл. У пользователей Mac и Linux есть доступ к более простым текстовым редакторам, таким как gedit или Leafpad, в которых также можно открывать и редактировать XML-файлы.
Если вы хотите научиться писать код, то вам вне всякого сомнения нужно попробовать один из редакторов выше.
Как только вы загрузите редактор, вы можете открыть XML-файл через его графический интерфейс, как и любой другой файл.
Ниже показан тот же файл
fcc-merch.xml
в VSCode:
Как открыть XML-файл онлайн?
Открыть XML-файл онлайн довольно легко, а лучшие онлайн программы просмотра XML работают также, как и обычные редакторы и средства форматирования.
Ниже приведены несколько самых популярных онлайн программ просмотра/редактирования XML:
Code Beautify
JSON Formatter
Tutorialspoint
Все эти программы работают одинаково – вы можете либо загрузить в них XML-файл со своего компьютера, либо скопировать и вставить его в редактор слева:
Beautify - Программа просмотра/редактирования для XML
Как только вы загрузите свой XML-файл, вы можете нажать «Tree View» (Просмотр дерева), чтобы увидеть иерархию ваших данных и то, как вкладываются друг в друга различные поля:
Просто внесите необходимые изменения в редакторе слева. Как только вы закончите, нажмите «Download» (Загрузить) для того, чтобы загрузить копию отредактированного файла.
Имейте в виду, что у загруженной копи может быть другое имя, например,
codebeautify.xml
. Просто переименуйте файл перед тем, как прикрепить его в электронному письму, загрузить или сделать то, что вам нужно.
Заключение
У формата XML длинная и богатая история.
Несмотря на то, что XML-файлы довольно массивные в сравнении с современными форматами для передачи данных, такими как JSON, все же не повредит знать, как их можно открывать и редактировать. К счастью, для этого у вас есть немало вариантов как на вашем компьютере, так и в Интернете.
Надеюсь, эта информация вам когда-нибудь поможет открыть или отредактировать XML-файл.
