По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Управление кэш-памятью определяет поведение кэширования для веб-сайта, давая браузерам понять, как часто следует обновлять локально хранящиеся ресурсы. Что такое 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, как правило, работают лучше, чем сайты, которые этого не делают.
img
Друг! Недавно в нашей статье мы рассказывали, как произвести базовую настройку телефонов в Cisco CME (CUCME) используя интерфейс командной строки. Сегодня мы сделаем то же самое, но уже при помощи графического интерфейса Cisco Configuration Professional (CCP) , про установку которого можно почитать здесь. /p> Добавление CME роутера в CCP Первым делом настроим наш роутер как CME. Для этого выбираем наш роутер в списке Select Community Member и нажимаем Configure и выбираем вкладку Unified Communications Features. Здесь нам будут доступны следующие опции: Cisco Unified Border Element (CUBE) – эта опция настраивает роутер как шлюз для IP телефонии для IP-IP сервисов, таких как IP Telephony Service Provision (IP-TSP). CUBE предоставляет типичные пограничные сервисы такие как NAT/PAT, и добавляет к ним VoIP функциональность для билинга, безопасности, контроля, QoS и прочего. IP Telephony – CUCME – CCP настраивает роутер как отдельную CME систему. IP Telephony – SRST – Позволяет IP телефонам использовать CME роутер как резервное устройство, если они потеряли связь с кластером CUCM. IP Telephony – Cisco Unified Call Manager Express as Cisco Unified Survivable Remote Site Telephony – предоставляет то же самое что и SRST, но с полным набором функций CME. Однако из-за этого уменьшается количество поддерживаемых телефонов. TDM Gateway – добавляет функционал шлюза, который может быть сконфигурирован вместо или совместно с CME. Media Resources – позволяет настроить цифровой сигнальный процессор DSP. Нам нужно поставить галочку IP Telephony, выбрать пункт CUCME – Cisco Unified Communications Manager Express, нажать ОК и затем в открывшемся окне нажать Deliver, после чего на маршрутизаторе будут произведены необходимые начальные настройки (какие именно команды будут применены можно увидеть в окне предпросмотра). Настройка Telephony Service Cisco предоставляет графический интерфейс для конфигурации ephone и ephone-dn (что это такое можно почитать тут). Однако просто взять и добавить ephone-dn (тут они называются “Extensions”) и ephone (они называются “Phones”) нельзя, интерфейс выдаст нам ошибку, что сначала нужно настроить Telephony Service Поэтому займемся настройкой Telephony Service. Чтобы это сделать нужно перейти в меню Configure – Unified Communications – Telephony Settings. Здесь нам необходимо настроить следующие поля: Supported Endpoints – какой протокол будут использовать телефоны (SIP, SCCP или оба) Maximum number of phones – максимальное количество ephone (команда max-ephones) Maximum number of extensions – максимальное количество ephone-dn (команда max-dn) Phone registration source IP address – адрес регистрации телефонов (команда ip source address) Иногда CCP может не обновлять конфигурацию CME, после внесения изменений. Если вы указали все необходимые настройки, но все еще получаете ошибку, что нужно настроить Telephony Settings, то в этом случае нужно вручную обновить конфигурацию, нажав кнопку Refresh. Если вы используете GNS3 для эмуляции роутера с CME, то при попытке войти в меню Telephony Settings будет появляться ошибка “An internal error has occurred”, и начальные настройки нужно ввести через интерфейс командной строки маршрутизатора. После того как мы заполнили поля нажимаем ОК, а затем Deliver. Теперь мы можем добавлять телефоны. Добавление телефонов, номеров и пользователей в CCP Начнем с добавления Extension, который технически является ephone-dn. Переходим во вкладку Configure – Unified Communications – Users, Phones and Extensions – Extensions и внизу нажимаем Create Здесь заполняем следующие поля: Primary Number – номер телефона (единственное обязательное поле) Secondary Number – дополнительный номер Name to be displayed on phone line – имя, которое будет отображаться на телефоне Description – описание Active calls allowed on a Phone Button – количество одновременных звонков (single-line или dual line) После заполнения нужных полей нажимаем ОК и Deliver, после чего телефон появляется в таблице с номерами. Теперь перейдем к настройке Phones. Для этого переходим во вкладку Configure – Unified Communications – Users, Phones, and Extensions – Phones (или Phones and Users, в зависимости от версии) и нажимаем Create. Здесь нам нужно заполнить два обязательных поля: модель телефона Cisco, который мы хотим добавить и его mac адрес, в формате xxxx.xxxx.xxxx . Внизу в столбце Available Extensions появятся созданные нами номера. Нам нужно перенести необходимый номер в правую таблицу, нажав кнопку со стрелкой вправо, выбрав номер линии и указав ее тип и тип звонка (в зависимости от версии CCP, привязка Phone к Extension может производиться в меню создания пользователя). В этом же окне мы можем создать пользователя. Используя свой аккаунт, пользователь может управлять настройками своего телефона через веб-интерфейс. Для этого переходим во вкладку User и указываем логин в строке User ID, а также пароль для входа. При создании юзера из этого меню, он будет ассоциирован с этим телефоном. В зависимости от версии CCP, может меняться местонахождение этой вкладки, и она может быть расположена в Configure – Unified Communications – Users, Phones, and Extensions – User Settings. Применяем настройки также нажатием клавиш ОК и Deliver. Также в CCP можно импортировать большое количество экстеншенов и телефонов в файлах .CSV через Bulk Import Wizard, который находится на панели справа. Также при помощи CCP можно проверить работоспособность системы и телефонов, через меню Configure – View – IOS Show Commands, где из выпадающего списка можно выбрать команду show и CCP отобразит ее вывод.
img
Привет! В сегодняшней статье я опишу как «расшарить» папку на CentOS сервере – то есть предоставить ей общий доступ без указания пароля. Сделать это возможно с помощью установки сервера Samba и нескольких дополнительных манипуляций. Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System Установка Перед установкой необходимо понять, в каком статусе у вас находится SELinux – для этого нужно выполнить команду selinuxenables && echo enabled || echo disabled. В случае если результат такой же, как на скриншоте ниже – можете смело приступать непосредственно к самому процессу установки (ниже): В противном случае, вам необходимо будет его отключить – для этого откройте конфигурационный файл по пути /etc/selinux/config любым текстовым редактором – например, Vi - vi /etc/selinux/config и поставьте значение SELINUX в положение disabled и выполните перезагрузку системы командой reboot SELinux – дополнение к стандартной системе контроля доступа Linux, но его настройка довольна трудоёмка и оно включено по умолчанию. Без каких-либо манипуляций SELinux часто может блокировать изменения, вызываемые при запуске различных служб или программ. Далее приступаем к установке Samba сервера. Для этого нужно выполнить команду: yum install samba samba-common cups-libs samba-client Теперь создадим папку – вводим команду mkdir –p /root/SHAREDFOLDER (имя папки и директория, соответственно, могут быть произвольными). Далее устанавливаем на неё права: chown –R root:users /root/SHAREDFOLDER chmod –R 775 /root/SHAREDFOLDER Конфигурация Открываем текстовым редактором основный файл конфигурации Samba – воспользуемся Vi: vi /etc/samba/smb.conf. В данном файле необходимо проверить чтобы в секции global присутствовали следующие строки: [global] security = user passdb backend = tdbsam workgroup = MYGROUP map to guest = Bad User server string = Samba Server Version %v Затем закомментируйте (проставьте точку с запятой) перед аргументами в разделах [homes] (доступ к гостевым директориям) и в [printers] (доступ к принтерам). Теперь добавьте конфиг для вашей созданной папке, выглядеть это должно следующим образом: [SHAREDFOLDER] comment = Everybody has access path = /root/SHAREDFOLDER force group = users create mask = 0666 directory mask = 0777 writable = yes guest ok = yes browseable = yes Наконец, сохраним файл конфигурации и настроим автозапуск службы samba – для этого необходимо выполнить следующую команду: chkconfig –levels 235 smb on /etc/init.d/smb restart Помните – Samba использует порты 137, 138, 139 и 445. Эта информация вам может понадобится при пробросе портов и настройке iptables. Благодаря вышеописанной процедуре, вы сможете легко передавать файлы с сервера на рабочие машины в вашей сети, и, более того, решать многие прикладные задачи – к примеру, расшарить папку с записями разговоров, чтобы непосредственно иметь к ним доступ.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59