Как открыть протокол подключения

Обновлено: 16.05.2024

В основе работы глобальной сети Интернет лежит набор (стек) протоколов TCP/IP. Но эти термины лишь на первый взгляд кажутся сложными. На самом деле стек протоколов TCP/IP — это простой набор правил обмена информацией, и правила эти на самом деле вам хорошо известны, хоть вы, вероятно, об этом и не догадываетесь. Да, все именно так, по существу в принципах, лежащих в основе протоколов TCP/IP, нет ничего нового: все новое — это хорошо забытое старое.

Человек может учиться двумя путями:

  1. Через тупое формальное зазубривание шаблонных способов решения типовых задач (чему сейчас в основном и учат в школе). Такое обучение малоэффективно. Наверняка вам приходилось наблюдать панику и полную беспомощность бухгалтера при смене версии офисного софта - при малейшем изменении последовательности кликов мышки, требуемых для выполнения привычных действий. Или приходилось видеть человека, впадающего в ступор при изменении интерфейса рабочего стола?
  2. Через понимание сути проблем, явлений, закономерностей. Через понимание принципов построения той или иной системы. В этом случае обладание энциклопедическими знаниями не играет большой роли - недостающую информацию легко найти. Главное - знать, что искать. А для этого необходимо не формальное знание предмета, а понимание сути.

В этой статье я предлагаю пойти вторым путем, так как понимание принципов, лежащих в основе работы Интернета, даст вам возможность чувствовать себя в Интернете уверенно и свободно — быстро решать возникающие проблемы, грамотно формулировать проблемы и уверенно общаться с техподдержкой.

Принципы работы интернет-протоколов TCP/IP по своей сути очень просты и сильно напоминают работу нашей советской почты.

На конверте письма будет написано примерно следующее:

Теперь мы готовы рассмотреть взаимодействие компьютеров и приложений в сети Интернет (да и в локальной сети тоже). Обратите внимание, что аналогия с обычной почтой будет почти полной.

Таким образом имеем следующую практически полную аналогию с нашим обычным почтовым адресом:

В компьютерных сетях, работающих по протоколам TCP/IP, аналогом бумажного письма в конверте является пакет, который содержит собственно передаваемые данные и адресную информацию — адрес отправителя и адрес получателя, например:

Конечно же в пакетах также присутствует служебная информация, но для понимания сути это не важно.

Обратите внимание, комбинация: "IP адрес и номер порта" - называется "сокет".

В нашем примере мы с сокета 82.146.49.55:2049 посылаем пакет на сокет 195.34.32.116:53, т.е. пакет пойдет на компьютер, имеющий IP адрес 195.34.32.116, на порт 53. А порту 53 соответствует сервер распознавания имен (DNS-сервер), который примет этот пакет. Зная адрес отправителя, этот сервер сможет после обработки нашего запроса сформировать ответный пакет, который пойдет в обратном направлении на сокет отправителя 82.146.49.55:2049, который для DNS сервера будет являться сокетом получателя.

Большинство программ на домашнем компьютере являются клиентами - например почтовый клиент Outlook, веб-обозреватели IE, FireFox и пр.

Номера портов на клиенте не фиксированные как у сервера, а назначаются операционной системой динамически. Фиксированные серверные порты как правило имеют номера до 1024 (но есть исключения), а клиентские начинаются после 1024.

Повторение - мать учения: IP — это адрес компьютера (узла, хоста) в сети, а порт — номер конкретного приложения, работающего на этом компьютере.

Отправляется запрос (точнее пакет с запросом) DNS серверу на сокет 195.34.32.116:53. Как было рассмотренно выше, порт 53 соответствует DNS-серверу - приложению, занимающемуся распознаванием имен. А DNS-сервер, обработав наш запрос, возвращает IP-адрес, который соответствует введенному имени.

Диалог примерно следующий:

Приняв от нас запрос, веб-сервер обрабатывает его и в нескольких пакетах посылает нам страницу в на языке HTML - языке разметки текста, который понимает браузер.

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

Зачем эти принципы надо понимать?

Также понимание принципов работы Интернета необходимо для правильной настройки файерволла (проще говоря брандмауэра :)). Эта программа (которая часто поставляется вместе с антивирусом), предназначенна для фильтрации пакетов - "своих" и "вражеских". Своих пропускать, чужих не пущать. Например, если ваш фаерволл сообщает вам, что некто хочет установить соединение с каким-либо портом вашего компьютера. Разрешить или запретить?

Ну и самое главное — эти знания крайне полезны при общении с техподдержкой.

Напоследок приведу список портов, с которыми вам, вероятно, придется столкнуться:

Несколько специальных IP адресов:

Что такое маска подсети и шлюз по умолчанию (роутер, маршрутизатор)?

(Эти параметры задаются в настройках сетевых подключений).

Напоследок рассмотрим что же означают непонятные термины:

TCP/IP — это название набора сетевых протоколов. На самом деле передаваемый пакет проходит несколько уровней. (Как на почте: сначала вы пишете писмо, потом помещаете в конверт с адресом, затем на почте на нем ставится штамп и т.д.).

IP протокол — это протокол так называемого сетевого уровня. Задача этого уровня — доставка ip-пакетов от компьютера отправителя к компьютеру получателю. По-мимо собственно данных, пакеты этого уровня имеют ip-адрес отправителя и ip-адрес получателя. Номера портов на сетевом уровне не используются. Какому порту, т.е. приложению адресован этот пакет, был ли этот пакет доставлен или был потерян, на этом уровне неизвестно — это не его задача, это задача транспортного уровня.

TCP и UDP — это протоколы так называемого транспортного уровня. Транспортный уровень находится над сетевым. На этом уровне к пакету добавляется порт отправителя и порт получателя.

UDP — это протокол без установления соединения и с негарантированной доставкой пакетов. (Типа: крикнул что-нибудь, а услышат тебя или нет — неважно).

Как посмотреть текущие соединения?

Текущие соединения можно посмотреть с помощью команды

(параметр n указывает выводить IP адреса вместо доменных имен).

Запускается эта команда следующим образом:

Имя Локальный адрес Внешний адрес Состояние
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 91.76.65.216:139 0.0.0.0:0 LISTENING
TCP 91.76.65.216:1719 212.58.226.20:80 ESTABLISHED
TCP 91.76.65.216:1720 212.58.226.20:80 ESTABLISHED
TCP 91.76.65.216:1723 212.58.227.138:80 CLOSE_WAIT
TCP 91.76.65.216:1724 212.58.226.8:80 ESTABLISHED

В этом примере 0.0.0.0:135 — означает, что наш компьютер на всех своих IP адресах слушает (LISTENING) 135-й порт и готов принимать на него соединения от кого угодно (0.0.0.0:0) по протоколу TCP.

91.76.65.216:139 — наш компьютер слушает 139-й порт на своем IP-адресе 91.76.65.216.

Третья строка означает, что сейчас установлено (ESTABLISHED) соединение между нашей машиной (91.76.65.216:1719) и удаленной (212.58.226.20:80). Порт 80 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).

В следующих статьях мы рассмотрим, как применять эти знания, например общаясь с техподдержкой.



  • расчет IP адреса по имени хоста DNS,
  • установление соединения с сервером,
  • отправка запроса,
  • ожидание ответа,
  • закрытие соединения.

Помимо постоянных соединений, браузеры / клиенты для минимизации времени задержек сети используют метод, называемый параллельные соединения. Старая концепция параллельных соединений заключается в создании пула соединений (как правило, не более шести соединений). То есть, если клиент хочет загрузить с веб-сайта шесть ресурсов, создаются шесть параллельных соединений, в результате чего время отклика становится минимальным. Это огромный плюс по сравнению с последовательными соединениями, где клиент скачивает ресурсы друг за другом.

Обслуживание соединения со стороны сервера

Идентификация и аутентификация

Для отслеживания работы приложений и веб-сайтов, а также для взаимодействия пользователей необходимо знать, кто подключается к серверу. Суть идентификации - помощь в обеспечении персонализации (естественно, для обеспечения функциональности сервер должен знать, кто его пользователи).

Существует несколько мер, при помощи которых сервер извлекает эту информацию, и большинство веб-сайтов используют гибридные методы:

  • Заголовки запросов: From, Referer, User-Agent – их мы уже рассмотрели в части 1
  • Client-IP - IP адрес клиента,
  • Fat Urls - Сохранение состояния текущего пользователя, изменив URL и перенаправив на другой URL после каждого клика; каждый клик, по сути, накапливает состояние,
  • Cookies - самый популярный и ненавязчивый подход.

“Лучший способ определить пользователя - попросить зарегистрироваться на сайте, но чтобы это реализовать потребуются усилия как со стороны разработчика, так и со стороны пользователя.”

Такая технология, как OAuth упрощает эту задачу, но она также требует вмешательства пользователя. Здесь большую роль играет аутентификация, и это, пожалуй, единственный способ идентификации и проверки пользователя.

Аутентификация

Следствием Основной Проверки Подлинности является Проверка Подлинности Прокси. Вместо веб-сервера, задача аутентификации состоит в запрашивании промежуточного прокси-сервера. Прокси-сервер отправляет заголовок Proxy-Authenticate с кодом статуса 407-Unauthorized. В свою очередь, клиенту предлагается посылать мандаты с помощью заголовка запроса Proxy-Authorization.

Краткая Проверка Подлинности похожа на Основную ПП техникой, схожей с WWW-Authenticate и заголовками авторизации, но Краткая ПП использует более надежные хэш-функции для шифрования имени пользователя и пароля (обычно- MD5 или KD дайджест-функций). Хотя Краткая ПП должна быть более безопасной, чем Основная ПП, веб-сайты обычно используют Основную ПП из-за её простоты. Для смягчения проблем безопасности Основные ПП используются в сочетании с SSL (Secure Sockets Layer).


SSL использует мощный алгоритм шифрования при помощи RSA и криптографии с открытым ключом. Так как безопасные транзакции в Интернете необычайно важны, разработка универсальных стандартов, основанных на Инфраструктуре Открытых Ключей (PKI) ведется уже давно.

Сертификаты

Также как человеку нужен паспорт для удостоверения личности, серверу нужен цифровой сертификат для идентификации. Сертификаты (или “certs”) выдаются Центром Сертификации (CA) и поручаются за Вашу личность в Интернете. CA хранят в себе PKI. Наиболее распространенная форма сертификатов- стандарт X.509 v3, который содержит такую информацию:

  • поставщик сертификата,
  • алгоритм сертификации,
  • имя субъекта или организации, для которой создается сертификат,
  • открытый ключ информации для субъекта,
  • Сертифицированная Подпись, использовавшая заданный алгоритм подписи.

Как только сертификат сверен, вступает в силу полная и безопасная передача SSL.

  • Частный - (в самом браузере) кэширует имена пользователей, пароли, URL, историю посещения страниц и веб-контент. Как правило, ориентирован на пользователя.
  • Общий - (развернутый) кэширует прокси между сервером и клиентом. Он гораздо обширнее, потому что работает на нескольких пользователей. Обычной практикой является хранение нескольких кэшированных прокси между клиентом и исходным сервером. Это помогает обслуживать наиболее часто используемый контент, и, в то же время, позволяет серверу обращаться к редко используемому содержанию.


Обработка кэша

Независимо от места нахождения кэша, процесс его обслуживания, в принципе, одинаков:

Конечно, сервер несет ответственность за то, чтобы и ответ и его заголовок всегда были правильными. Если какой-то документ не изменился, сервер должен ответить 304 Not Modified. Если кэшированная копия документа истекает, должен генерироваться новый ответ с модифицированными заголовками и возвращать код 200-OK. Если ресурс был удален, возвращается код 404- Not Found. Эти ответы помогают настроить кэш и убедиться, что “несвежее” содержание не хранится дольше положенного.

Заголовки управления кэшем

Истечение Срока Ханения Документов (Document Expiration)

Повторное подтверждение от сервера (Server Revalidation)

Как только истекает срок хранения кэшированного документа, кэш вместе с сервером должен перепроверить, был ли документ изменен. Это называется Повторным Подтверждением от Сервера и служит механизмом запросов устаревания документа. Только то,что срок хранения кэшированной копии истек, не означает, что на сервере обновился контент. Повторное Подтверждение - это всего лишь метод проверки, освежен ли кэш. Благодаря истечению срока хранения (пред. ответ сервера) кэш вместе с сервером не обязаны проверять каждый запрос, что позволяет экономить пропускную способность, время и снижает сетевой трафик.

“Сочетание истечения срока хранения документа и повторного подтверждения от сервера является довольно-таки эффективным механизмом, он и позволяет распределенным системам хранить копии данных с датой истечения срока хранения.”

Если известно, что контент часто изменяется, срок хранения может уменьшиться, позволяя системам чаще проводить повторную синхронизацию.

Стадия повторного подтверждения может быть пройдена по одному из двух заголовков запроса: Изменялось-Ли-Ранее ( If-Modified-Since) и Не-Отмечено-Ли (If-None-Match). Первый используется для проверки основных дат, а последний использует Entity-Tags (ETags), хэш содержимого. Эти заголовки используют значения даты или ETag’а, полученные из предыдущего ответа сервера. В случае Изменялось-Ли-Ранее ( If-Modified-Since) используется заголовок ответа Последнее-Измененное (Last-Modified), для Не-Отмечено-Ли (If-None-Match)- заголовок ответа- ETag.

Управление кэшированием

Следует добавить, что если сервер не отправил ни одного заголовка Cache-Control, клиент может использовать свой собственный эвристический алгоритм установки истечения срока действия и определения “свежести” контента.

Клиентское ограничение “свежести”

Кэширование происходит не только на сервере, иногда оно может быть задано клиентом. Это позволяет клиенту ограничивать то, что он сам готов принять. Это возможно осуществить при помощи Cache-Control, но с другими значениями:

  • Cache-Control: min-fresh=: документ должен быть свежим, по крайней мере секунд,
  • Cache-Control: max-stale или Cache-Control: max-stale=: документ нельзя обслуживать кэшем, если он был несвеж дольше секунд,
  • Cache-Control: max-age=: кэш не может вернуть документ, который находится в нем дольше секунд,
  • Cache-Control: no-cache или Pragma: no-cache: клиент не примет кэшированный ресурс, пока он не будет повторно подтвержден.

Резюме

5 последних уроков рубрики "Разное"

Как выбрать хороший хостинг для своего сайта?

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

Как разместить свой сайт на хостинге? Правильно выбранный хороший хостинг - это будущее Ваших сайтов

Разработка веб-сайтов с помощью онлайн платформы Wrike

Создание вебсайта - процесс трудоёмкий, требующий слаженного взаимодействия между заказчиком и исполнителем, а также между всеми членами коллектива, вовлечёнными в проект. И в этом очень хорошее подспорье окажет онлайн платформа Wrike.

20 ресурсов для прототипирования

Подборка из нескольких десятков ресурсов для создания мокапов и прототипов.

Топ 10 бесплатных хостингов

Небольшая подборка провайдеров бесплатного хостинга с подробным описанием.

Диагностика ошибки

Первое, что стоит сделать в данной ситуации — провести диагностику сетей:

Состояние беспроводная сеть

На этом компьютере отсутствуют один или несколько сетевых протоколов

Сетевой адаптер не имеет допустимых параметров настройки IP

DNS сервер не отвечает

Шлюз, установленный по умолчанию, не доступен

DHCP сервер не включен

Часто бывает, что виной проблемы с доступом к интернету является неправильно настроенный DHCP сервер. Это может быть как с вашей стороны, так и со стороны интернет провайдера. Если у вас именно такая проблема, читайте дальше.

Совет! Если у вас несколько устройств с выходом в интернет, вы можете создать домашнюю локальную сеть с помощью роутера.

Настройки TCP/IPv4

Отключение беспроводной сети

В случае, если у вас роутер, перезагрузите и его.

Также, можете провести сканирование настройки протокола IP для Windows. Для этого:

  1. Нажмите ПКМ Пуск и откройте Командная строка (Администратор).
  2. Пропишите команду

IPconfig /all

Проверьте Основной шлюз и DHCP сервер. Если DHCP не будет отдавать адрес шлюза (Основной шлюз 0.0.0.0) или он выключен, выставите настройки IPv4 вручную:

Настройки TCP/IPv4

Важно! Если в сети находятся несколько компьютеров, не присваивайте проблемному IP-адрес другого устройства. Если вы это сделаете, сеть не заработает.

Настройки роутера

Если вы используете роутер, включите в настройках DHCP сервер:

DHCP

Совет! Желаете изменить IP-адрес устройства, которое имеет доступ к сети? Читайте инструкцию по ссылке.

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

Один
Два
Три
Четыре
Пять

Популярное за неделю


Как можно разблокировать найденный айфон

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

как скинуть фото с iPhone на компьютер

Как скинуть фото с iPhone на компьютер

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

Приоритет загрузки

Как установить Windows 10 в UEFI BIOS на диски со структурой MBR или GPT

В процессе установки чистой Windows 10 могут возникнуть сложности, связанные с появлением материнских плат с UEFI вместо BIOS и неоднозначной структурой жестких дисков, таких.

' data-post_id="19095" data-user_id="0" data-is_need_logged="0" data-lang="en" data-decom_comment_single_translate=" комментарий" data-decom_comment_twice_translate=" комментария" data-decom_comment_plural_translate=" комментариев" data-multiple_vote="1" data-text_lang_comment_deleted='Комментарий удален' data-text_lang_edited="Отредактировано в" data-text_lang_delete="Удалить" data-text_lang_not_zero="Поле не NULL" data-text_lang_required="Это обязательное поле." data-text_lang_checked="Отметьте один из пунктов" data-text_lang_completed="Операция завершена" data-text_lang_items_deleted="Объекты были удалены" data-text_lang_close="Закрыть" data-text_lang_loading="Загрузка. ">

2 комментария

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

Три года стабильно пользовался вай-фай соединением и из за неполадок с роутером решил перейти на кабельное соединение но показывало что доступ ограничен и отсутствовал интернет,долго мучил провайдера с этой проблемой, оказалось что Mac-адресс вай-фая и Mac-адресс сетевого подключения разные и у меня просто не было доступа как и у любого другого пользователя который к данной сети не подключен, отправил Mac провайдеру и получил доступ к интернету, может быть немного не в тему но всё же это тоже может быть причиной отсутствия интернета на ПК или ноутбуке.

В вашей ситуации провайдер должен был решить проблему. Попробуйте выполнить вышеуказанные действия. Если они не помогли, то проблемы (скорее всего) на стороне провайдера и нужно именно с ним общаться на этот счет.



  • расчет IP адреса по имени хоста DNS,
  • установление соединения с сервером,
  • отправка запроса,
  • ожидание ответа,
  • закрытие соединения.

Помимо постоянных соединений, браузеры / клиенты для минимизации времени задержек сети используют метод, называемый параллельные соединения. Старая концепция параллельных соединений заключается в создании пула соединений (как правило, не более шести соединений). То есть, если клиент хочет загрузить с веб-сайта шесть ресурсов, создаются шесть параллельных соединений, в результате чего время отклика становится минимальным. Это огромный плюс по сравнению с последовательными соединениями, где клиент скачивает ресурсы друг за другом.

Обслуживание соединения со стороны сервера

Идентификация и аутентификация

Для отслеживания работы приложений и веб-сайтов, а также для взаимодействия пользователей необходимо знать, кто подключается к серверу. Суть идентификации - помощь в обеспечении персонализации (естественно, для обеспечения функциональности сервер должен знать, кто его пользователи).

Существует несколько мер, при помощи которых сервер извлекает эту информацию, и большинство веб-сайтов используют гибридные методы:

  • Заголовки запросов: From, Referer, User-Agent – их мы уже рассмотрели в части 1
  • Client-IP - IP адрес клиента,
  • Fat Urls - Сохранение состояния текущего пользователя, изменив URL и перенаправив на другой URL после каждого клика; каждый клик, по сути, накапливает состояние,
  • Cookies - самый популярный и ненавязчивый подход.

“Лучший способ определить пользователя - попросить зарегистрироваться на сайте, но чтобы это реализовать потребуются усилия как со стороны разработчика, так и со стороны пользователя.”

Такая технология, как OAuth упрощает эту задачу, но она также требует вмешательства пользователя. Здесь большую роль играет аутентификация, и это, пожалуй, единственный способ идентификации и проверки пользователя.

Аутентификация

Следствием Основной Проверки Подлинности является Проверка Подлинности Прокси. Вместо веб-сервера, задача аутентификации состоит в запрашивании промежуточного прокси-сервера. Прокси-сервер отправляет заголовок Proxy-Authenticate с кодом статуса 407-Unauthorized. В свою очередь, клиенту предлагается посылать мандаты с помощью заголовка запроса Proxy-Authorization.

Краткая Проверка Подлинности похожа на Основную ПП техникой, схожей с WWW-Authenticate и заголовками авторизации, но Краткая ПП использует более надежные хэш-функции для шифрования имени пользователя и пароля (обычно- MD5 или KD дайджест-функций). Хотя Краткая ПП должна быть более безопасной, чем Основная ПП, веб-сайты обычно используют Основную ПП из-за её простоты. Для смягчения проблем безопасности Основные ПП используются в сочетании с SSL (Secure Sockets Layer).


SSL использует мощный алгоритм шифрования при помощи RSA и криптографии с открытым ключом. Так как безопасные транзакции в Интернете необычайно важны, разработка универсальных стандартов, основанных на Инфраструктуре Открытых Ключей (PKI) ведется уже давно.

Сертификаты

Также как человеку нужен паспорт для удостоверения личности, серверу нужен цифровой сертификат для идентификации. Сертификаты (или “certs”) выдаются Центром Сертификации (CA) и поручаются за Вашу личность в Интернете. CA хранят в себе PKI. Наиболее распространенная форма сертификатов- стандарт X.509 v3, который содержит такую информацию:

  • поставщик сертификата,
  • алгоритм сертификации,
  • имя субъекта или организации, для которой создается сертификат,
  • открытый ключ информации для субъекта,
  • Сертифицированная Подпись, использовавшая заданный алгоритм подписи.

Как только сертификат сверен, вступает в силу полная и безопасная передача SSL.

  • Частный - (в самом браузере) кэширует имена пользователей, пароли, URL, историю посещения страниц и веб-контент. Как правило, ориентирован на пользователя.
  • Общий - (развернутый) кэширует прокси между сервером и клиентом. Он гораздо обширнее, потому что работает на нескольких пользователей. Обычной практикой является хранение нескольких кэшированных прокси между клиентом и исходным сервером. Это помогает обслуживать наиболее часто используемый контент, и, в то же время, позволяет серверу обращаться к редко используемому содержанию.


Обработка кэша

Независимо от места нахождения кэша, процесс его обслуживания, в принципе, одинаков:

Конечно, сервер несет ответственность за то, чтобы и ответ и его заголовок всегда были правильными. Если какой-то документ не изменился, сервер должен ответить 304 Not Modified. Если кэшированная копия документа истекает, должен генерироваться новый ответ с модифицированными заголовками и возвращать код 200-OK. Если ресурс был удален, возвращается код 404- Not Found. Эти ответы помогают настроить кэш и убедиться, что “несвежее” содержание не хранится дольше положенного.

Заголовки управления кэшем

Истечение Срока Ханения Документов (Document Expiration)

Повторное подтверждение от сервера (Server Revalidation)

Как только истекает срок хранения кэшированного документа, кэш вместе с сервером должен перепроверить, был ли документ изменен. Это называется Повторным Подтверждением от Сервера и служит механизмом запросов устаревания документа. Только то,что срок хранения кэшированной копии истек, не означает, что на сервере обновился контент. Повторное Подтверждение - это всего лишь метод проверки, освежен ли кэш. Благодаря истечению срока хранения (пред. ответ сервера) кэш вместе с сервером не обязаны проверять каждый запрос, что позволяет экономить пропускную способность, время и снижает сетевой трафик.

“Сочетание истечения срока хранения документа и повторного подтверждения от сервера является довольно-таки эффективным механизмом, он и позволяет распределенным системам хранить копии данных с датой истечения срока хранения.”

Если известно, что контент часто изменяется, срок хранения может уменьшиться, позволяя системам чаще проводить повторную синхронизацию.

Стадия повторного подтверждения может быть пройдена по одному из двух заголовков запроса: Изменялось-Ли-Ранее ( If-Modified-Since) и Не-Отмечено-Ли (If-None-Match). Первый используется для проверки основных дат, а последний использует Entity-Tags (ETags), хэш содержимого. Эти заголовки используют значения даты или ETag’а, полученные из предыдущего ответа сервера. В случае Изменялось-Ли-Ранее ( If-Modified-Since) используется заголовок ответа Последнее-Измененное (Last-Modified), для Не-Отмечено-Ли (If-None-Match)- заголовок ответа- ETag.

Управление кэшированием

Следует добавить, что если сервер не отправил ни одного заголовка Cache-Control, клиент может использовать свой собственный эвристический алгоритм установки истечения срока действия и определения “свежести” контента.

Клиентское ограничение “свежести”

Кэширование происходит не только на сервере, иногда оно может быть задано клиентом. Это позволяет клиенту ограничивать то, что он сам готов принять. Это возможно осуществить при помощи Cache-Control, но с другими значениями:

  • Cache-Control: min-fresh=: документ должен быть свежим, по крайней мере секунд,
  • Cache-Control: max-stale или Cache-Control: max-stale=: документ нельзя обслуживать кэшем, если он был несвеж дольше секунд,
  • Cache-Control: max-age=: кэш не может вернуть документ, который находится в нем дольше секунд,
  • Cache-Control: no-cache или Pragma: no-cache: клиент не примет кэшированный ресурс, пока он не будет повторно подтвержден.

Резюме

5 последних уроков рубрики "Разное"

Как выбрать хороший хостинг для своего сайта?

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

Как разместить свой сайт на хостинге? Правильно выбранный хороший хостинг - это будущее Ваших сайтов

Разработка веб-сайтов с помощью онлайн платформы Wrike

Создание вебсайта - процесс трудоёмкий, требующий слаженного взаимодействия между заказчиком и исполнителем, а также между всеми членами коллектива, вовлечёнными в проект. И в этом очень хорошее подспорье окажет онлайн платформа Wrike.

20 ресурсов для прототипирования

Подборка из нескольких десятков ресурсов для создания мокапов и прототипов.

Топ 10 бесплатных хостингов

Небольшая подборка провайдеров бесплатного хостинга с подробным описанием.

Читайте также: