Что означает "+" в заголовке HTTP Accept?
Как я мог понять эту запись:
Accept: application/vnd.my.api+json
Я имею в виду, является ли этот символ "+" стандартизированным (во всяком случае, я не нашел его в спецификации), или это просто соглашение?
Благодарю.
1 ответ
Заголовок Accept указывает список допустимых типов мультимедиа. Часть "+xxx" типа носителя называется суффиксом. Это дополнение к определению типа носителя и помогает определить базовую структуру этого типа носителя.
RFC 6838, "4.2.8. Структурные суффиксы имен синтаксиса" определяет:
XML в MIME [RFC3023] определил первое такое дополнение к
определение типа носителя, чтобы дополнительно указать базовый
структура этого типа носителя. Цитировать:This document also standardizes a convention (using the suffix '+xml') for naming media types ... when those media types represent XML MIME (Multipurpose Internet Mail Extensions) entities.
То есть он указал суффикс (в этом случае "+ xml"), который будет добавлен к имени базового подтипа.
С тех пор как это было опубликовано, возникла де-факто практика использования этого суффиксного соглашения для других хорошо известных синтаксисов структурирования. В частности, типы носителей были зарегистрированы с суффиксами, такими как "+ der", "+ fastinfoset" и "+json". Эта спецификация формализует эту практику и устанавливает реестр для суффиксов имен структурированных типов.
Основным правилом регистрации регистрационного суффикса имени типа является то, что он описывается легкодоступным
описание, предпочтительно в документе, опубликованном установленной организацией, связанной со стандартами, и для которого есть ссылка
это может быть использовано в разделе нормативных ссылок RFC.Типы мультимедиа, использующие именованный структурированный синтаксис, ДОЛЖНЫ использовать соответствующий зарегистрированный "+ суффикс" для этого структурированного синтаксиса при регистрации. Точно так же типам носителей НЕ ДОЛЖНЫ быть присвоены имена, включающие суффиксы для структурированных синтаксисов, которые они фактически не используют. Конструкции "+ суффикс" для пока еще не зарегистрированных структурированных синтаксисов НЕ ДОЛЖНЫ использоваться, учитывая возможность конфликтов с будущими определениями суффиксов.