В чем разница ContentType и MimeType

Насколько я знаю, они абсолютно равны. Тем не менее, просматривая некоторые документы Django, я нашел этот фрагмент кода:

HttpResponse .__ init __ (content = '', mimetype = None, status = 200, content_type = 'text / html')

, которые удивляют меня, когда они ладят друг с другом. Официальные документы смогли решить проблему практическим способом:

content_type - это псевдоним mimetype. Исторически этот параметр был только называется mimetype, но так как это на самом деле значение, включенное в Заголовок HTTP Content-Type, он также может включить кодировку набора символов, что делает его больше, чем просто MIME спецификация типа. Если mimetype это указано (не None), это значение используемый. В противном случае используется content_type. Если ни то, ни другое не дано, Параметр DEFAULT_CONTENT_TYPE используется.

Однако я не нахожу его достаточно понятным. Почему мы используем 2 разных наименования для (почти одинаковых) вещей? Является ли «Content-Type» просто именем, используемым в запросах браузера, и мало используемым за его пределами?

В чем основное различие между ними и тем, когда правильно называть что-то mimetype , в отличие от к типу контента ? Неужели я жалкий нацист и грамматик?

94
задан BuZZ-dEE 22 April 2014 в 16:28
поделиться

3 ответа

Почему мы используем 2 разных наименования для (почти то же самое) вещь? Является "Content-Type" просто имя, используемое в запросы браузера, и с очень небольшим использовать за его пределами?

В чем главное различие между каждый, и когда можно позвонить что-то mimetype в отличие от Тип содержимого ? Я жалкий и нацистская грамматика?

Причина не только в обратной совместимости, и я боюсь, что обычно отличная документация по Django немного неоднозначна. MIME (действительно стоит прочесть хотя бы статью в Википедии) берет свое начало в расширении интернет-почты и, в частности, SMTP. Оттуда дизайн расширений, вдохновленный MIME и MIME, нашел свое отражение во многих других протоколах (например, здесь HTTP) и до сих пор используется, когда новые виды метаданных или данных должны быть переданы в существующем протоколе. Существуют десятки RFC, в которых обсуждается использование MIME для множества целей.

В частности, Content-Type: - один из нескольких заголовков MIME. «Mimetype» действительно кажется устаревшим, но ссылка на сам MIME - нет.Если хотите, назовите эту часть обратной совместимостью.

[Кстати, это чисто терминологическая проблема, которая не имеет никакого отношения к грамматике. Записывать каждый вопрос об использовании в рубрику «грамматика» - моя любимая мозоль. Grrrr.]

51
ответ дан 24 November 2019 в 06:09
поделиться

Почему мы используем 2 разных наименования для (почти одного и того же) объекта?

Обратная совместимость, на основе вашей цитаты из документации.

0
ответ дан 24 November 2019 в 06:09
поделиться

Если вы хотите узнать подробности, см. Билет 3526 .

Цитата:

Добавлен content_type в качестве псевдонима для mimetype в HttpResponse конструктор. Это немного больше точное имя. На основе патча от Саймон Уиллисон. Полностью назад совместимый.

4
ответ дан 24 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: