RFC: 6797
Оригинал: HTTP Strict Transport Security (HSTS)
Категория: Предложенный стандарт
Дата публикации:
Авторы: , ,
Перевод: Семенов Юрий Алексеевич

8.3. Загрузка URI и привязка портов

Когда бы агент пользователя не приготовил "загрузку" (также известна как "разыменование"), любое "http" URI [RFC-3986] (включая случай перенаправления HTTP [RFC-2616]), агент пользователя должен сначала определить, является ли доменное имя из URI именем известного HSTS-компьютера, используя следующие шаги:

  1. Извлечь из URI субстроку, описывающую компьютерный компонент URI.

  2. Если субстрока является нулевой, соответствие с известным HSTS-компьютером отсутствует.

  3. Иначе, если субстрока не является нулевой и синтаксически соответствует символьному IP или IPv4-адресу (см. раздел 3.2.2 [RFC-3986]), тогда соответствие какому-либо известному HSTS-компьютер отсутствует.

  4. В противном случае, субстрока является доменным именем, которое должно соответствовать известному агенту пользователя HSTS-компьютера (см. раздел 8.2 "Known HSTS-компьютер Domain Name Matching").

  5. Если, при выполнении сверки доменного имени оно соответствует какому-то супердомену со вставленной директивой includeSubDomains или, если супердомен соответствует вставленной директиве includeSubDomains и выявлено полное соответствие (с или без встроенной директивой includeSubDomains), тогда перед тем как продолжит загрузку:

    • Агент пользователя должен заменить URI-схему "https" [RFC-2818],
    • и если URI содержит компонент порта равный "80", тогда агент пользователя должен сделать компонент порта равным "443",
    • или если URI содержит компонент порта не равный "80", содержимое компонента порта должно быть сохранено;
    • в противном случае, если URI не содержит компонента порта, агент пользователя не должен его добавлять.

    Замечание: Эти шаги гарантируют, что политика HSTS реализуется для HTTP через какой-то TCP-порт HSTS-компьютера.

Замечание: В случае, когда имеется код порта, и, вероятно, работает HTTP-сервер в небезопасном режиме, HTTPS-запрос не будет реализован (смотри пункт 6 в Приложение A ("Design Decision Notes")).

2007 - 2017 © Русские переводы RFC, IETF, ISOC.