Кратко
- RFC 5147 задаёт позиции и диапазоны символов или строк для MIME-сущностей
text/plain. - Фрагмент обрабатывает клиент после получения представления; сервер не использует его при разрешении ресурса.
- Позиции считаются с нуля и обозначают границу нулевой длины, а не цитату.
- Символы считают после декодирования; байты, кодовые точки и видимые графемы могут различаться.
- Любой распознанный конец строки считается одним символом независимо от CRLF, LF, CR или иной формы.
- Слишком большая позиция переходит к концу сущности, не подтверждая сохранность исходного места.
- Ошибочный синтаксис и обратный диапазон игнорируются; клиенту запрещено угадывать исправление.
lengthиmd5— необязательные проверки сущности после удаления транспортных кодировок.- Клиент вправе игнорировать проверки, а различие charset может запретить их или потребовать ненадёжного преобразования.
- MD5 способен заметить часть случайных изменений, но не является подписью, идентичностью издателя или современной защитой от коллизий.
- Показ одного фрагмента может скрыть условия, контекст и домен безопасности даже при точном выборе.
- Для решения нужны отдельные доказательства редакции, сущности, декодирования, контекста, издателя и полномочий.
Совпадение отвечало не на тот вопрос
Проверка была вычислена корректно. Транспортные кодировки сняли, двоичное представление MIME-сущности совпало с ожидаемым MD5. Из этого следует узкий вывод: клиент наблюдал те байты, для которых кто-то ранее записал этот отпечаток.
Не следует, что отпечаток выпустила уполномоченная организация. Не следует, что документ действует сегодня. Не следует, что выбранный диапазон выражает правило полностью. Не следует, что проверяющий имеет право совершить необратимое действие.
RFC 5147 полезен именно потому, что проверка помогает обнаружить изменение адресуемой сущности. Ошибка начинается, когда сигнал целостности повышают до происхождения и институциональной силы.
Сервер не утверждает смысл части после #
Фрагмент применяется на стороне клиента после получения ресурса. Тип text/plain выбирает синтаксис RFC 5147. Сервер происхождения не получает часть после # как запрос подтвердить конкретные строки.
Поэтому старый клиент может открыть файл целиком и не выбрать цель. Это предусмотренная возможность постепенного внедрения. Для доступности результат положительный, для цитирования — отрицательный.
Серверный журнал также не доказывает пользовательское представление. Декодирование, правила строк, ограничение диапазона, применение проверки и визуальная рамка находятся у клиента. Надёжный аудит соединяет, но не смешивает эти свидетельства.
Координаты появляются после декодирования
Стандарт комбинирует символы или строки с позицией или диапазоном. Нулевая позиция находится перед первым элементом. Одна позиция имеет нулевую длину; диапазон выбирает материал между границами.
char= не является смещением байтов. UTF-8 использует переменное число байтов, UTF-16 — другие правила, начальная метка порядка байтов не считается символом. Одинаково выглядящий знак может быть предсоставленным или состоять из основы и комбинируемого диакритического знака.
Архивное преобразование способно сохранить читаемый текст и переместить все последующие позиции. В квитанции нужны объявленный и фактический charset, нормализация и хеш декодированной сущности.
Концы строк формируют вторую границу. Интернет-сообщения обычно используют CRLF, локальные системы — LF, CR, NEL и иные последовательности. Каждый распознанный конец считают одним символом, но набор распознаваемых правил зависит от среды.
Последняя позиция может означать утрату
Если число превышает длину сущности, оно указывает на последнюю позицию. Это однозначная обработка, а не доказательство существования старого абзаца.
После сокращения инструкции ссылка на строку 700 может привести в конец файла из 50 строк без ошибки. Панель, которая измеряет только успешный переход, объявит удаление нормой. Факт выхода за диапазон должен блокировать доказательное использование.
Открытые диапазоны меняются при росте сущности. Без начального числа они идут от начала, без конечного — до конца. Новое приложение может попасть в выборку без проверки автором ссылки.
Для перевёрнутых границ и синтаксических ошибок правило жёстче: игнорировать, не исправлять догадкой. Интерфейс обязан показать отказ фрагмента, иначе полный документ на экране имитирует успешное выделение.
Три ограничения length и md5
Первое — необязательность. Клиенты могут не реализовывать проверки. Если реализованный механизм замечает изменение, клиенту следует не интерпретировать фрагмент и можно предупредить пользователя. Одинаковая ссылка не навязывает продуктам один режим остановки.
Второе — объект сравнения. Длина и MD5 относятся к MIME-сущности после снятия content-encoding и content-transfer-encoding. Они не подписывают отдельно выбранный диапазон и его окружение.
Третье — кодировка. В параметре можно назвать charset. При несовпадении с полученной сущностью проверку нельзя применять напрямую. Разрешено преобразовать текст, но RFC предупреждает о потере и нормализации символов.
Длина прямо названа очень слабой. RFC 6151 позднее зафиксировал, что MD5 неприемлем там, где нужна устойчивость к коллизиям, и для цифровых подписей. Исторический параметр RFC 5147 следует использовать только как ограниченный сигнал случайного дрейфа.
Без типа среды даже грамматика становится предположением
line= и char= относятся к text/plain. Некоторые схемы и среды не сообщают надёжный медиа-тип, и агент делает вывод эвристически. RFC 5147 считает такую обработку по природе ненадёжной.
Расширение .txt не доказывает MIME-тип. Локальный file: может иметь другие концы строк. FTP может не дать метаданные, доступные через HTTP. Следует сохранять объявленный тип, эффективный тип и основание вывода.
IANA связывает спецификацию с регистрацией text/plain. Это доказательство координации и назначения, но не статистика поддержки клиентами и не сертификат конкретной реализации.
Подлинная цитата может быть нечестно оформлена
Безопасность зависит не только от смещения. Показ исключительно выбранных строк может скрыть оговорки мелким шрифтом. Материал, похожий на знак доверия, можно взять из настоящего документа и поместить в чужую рамку.
Подлинность файла, точность диапазона и честность представления — разные свойства. Пользователь должен видеть границы включения, иметь путь к полному контексту, а система — контролировать перенос между доменами безопасности.
Воспроизводимая квитанция хранит полный URI, время, валидаторы ответа, медиа-тип, charset, хеш декодированной сущности, правила строк, фрагмент, версию клиента, выход за диапазон, выбранный текст и окружение. Подпись, роль издателя и применимая политика проверяются отдельно.
Источники
- RFC 5147, HTML
- RFC 5147, текст
- Карточка RFC Editor
- Карточка IETF Datatracker
- История документа
- Поиск errata RFC 5147
- RFC 6838: спецификации медиа-типов
- RFC 2046: медиа-типы MIME
- RFC 3986: общий синтаксис URI
- RFC 3987: интернационализированные идентификаторы
- RFC 3629: UTF-8
- RFC 1321: MD5
- RFC 6151: безопасность MD5
- RFC 9110: семантика HTTP
- RFC 8089: схема file URI
- Реестр медиа-типов IANA
- W3C Media Fragments URI 1.0
- Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile
- Running-Code Primacy
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
