#php #laravel #laravel-5
Вопрос:
Я читал о том, как создавать плагины, и этот «тип MIME» постоянно обсуждается в нем. Я пытался изучить его и узнать, что это Универсальные расширения электронной почты (MIME), но никакого подходящего объяснения того, как это связано с подключаемыми модулями браузера, так как в том, что мне нужно знать об этом для создания подключаемых модулей, не предусмотрено, пожалуйста, объясните ясными и простыми словами. Что это? Почему плагины имеют тип MIME?
Ответ №1:
Тип MIME-это метка, используемая для идентификации типа данных. Он используется для того, чтобы программное обеспечение могло знать, как обрабатывать данные. В Интернете он служит той же цели, что и расширения файлов в Microsoft Windows.
Поэтому, если сервер говорит «Это текст/html», клиент может сказать «Ах, это HTML-документ, я могу отобразить его внутренне», в то время как если сервер говорит «Это приложение/pdf», клиент может сказать «Ах, мне нужно запустить плагин FoxIt для чтения PDF, который установил пользователь и который зарегистрировался как обработчик приложения/pdf».
Чаще всего вы найдете их в заголовках HTTP-сообщений (для описания содержимого, на которое отвечает HTTP-сервер, или форматирования данных, размещаемых в запросе) и в заголовках электронной почты (для описания формата сообщения и вложений).
Комментарии:
1. Может ли это служить метафорой для портов на уровне IP?
Ответ №2:
MIME расшифровывается как Универсальные расширения интернет-почты. Типы MIME формируют стандартный способ классификации типов файлов в Интернете. Интернет-программы, такие как веб-серверы и браузеры, имеют список типов MIME, поэтому они могут передавать файлы одного и того же типа одним и тем же способом, независимо от того, в какой операционной системе они работают.
Тип MIME состоит из двух частей: типа и подтипа. Они разделены косой чертой (/). Например, тип MIME для файлов Microsoft Word-приложение, а подтип-msword. Вместе полный тип MIME-это приложение/msword.
Хотя существует полный список типов MIME, в нем не перечислены расширения, связанные с файлами, а также описание типа файла. Это означает, что если вы хотите найти тип MIME для определенного типа файла, это может быть сложно. Иногда вам нужно просмотреть список и сделать предположение о типе MIME файла, который вас интересует.
Комментарии:
1. Теперь есть список типов и расширений MIME от MDN. Вы также можете отправить PR , чтобы улучшить его.
Ответ №3:
MIME расшифровывается как Универсальные расширения интернет-почты. Это способ идентификации файлов в Интернете в соответствии с их природой и форматом.
Например, используя значение Content-type
заголовка, определенное в HTTP-ответе, браузер может открыть файл с соответствующим расширением/плагином.
Тип интернет-носителя (также тип контента) совпадает с типом MIME. Типы MIME изначально создавались для электронных писем, отправляемых по протоколу SMTP. В настоящее время этот стандарт используется во многих других протоколах, отсюда и новое соглашение об именовании «Тип интернет-носителя».
Тип MIME-это строковый идентификатор, состоящий из двух частей: a type
и a subtype
.
- «Тип» относится к логической группировке многих типов MIME, которые тесно связаны друг с другом; это не более чем категория высокого уровня.
- «подтипы» относятся к одному типу файлов в «типе».
x-
Префикс подтипа MIME просто означает, что он нестандартный.
vnd
Префикс означает, что значение MIME зависит от поставщика.
Ответ №4:
Объяснение по аналогии
Представьте, что вы написали письмо своему другу по переписке, но каждый раз писали его на разных языках.
Например, вы могли бы написать свое первое письмо на тамильском, а второе-на немецком и т. Д.
Для того, чтобы ваш друг перевел эти письма, вашему другу потребуется:
- (i) определите тип языка и
- (ii) и затем переведите его соответствующим образом. Но идентифицировать язык не так просто — для этого потребуется много вычислительной энергии. Было бы намного проще, если бы вы написали язык, на котором отправляете, в верхней части своего письма — это значительно облегчило бы жизнь вашему другу.
Поэтому, чтобы выделить язык, на котором вы пишете, вы просто аннотируете язык (например, «французский») в верхней части вашего письма.
Как бы ваш друг узнал или смог прочитать или различить различные типы языков, которые вы указываете в верхней части своего письма? Это просто: вы заранее договариваетесь об этом.
Привязка аналогии обратно к HTML
Поскольку существуют различные типы форматов данных, которые необходимо отправлять через Интернет, предварительное указание типа данных позволит соответствующему клиенту правильно интерпретировать и отображать данные соответствующим образом пользователю.
Почему у нас разные форматы данных?
Главным образом потому, что они служат разным целям и обладают разными способностями.
Например, формат PDF сильно отличается от формата изображений — который также отличается от звукового формата — оба служат совершенно разным целям и, соответственно, написаны по-разному перед отправкой через Интернет.
Комментарии:
1. Голосую за тамильский 🙂
Ответ №5:
Я не мог бы объяснить это лучше, чем Википедия в типе СМИ:
В дополнение к приложениям электронной почты веб-браузеры также поддерживают различные типы MIME. Это позволяет браузеру отображать или выводить файлы, которые не находятся в формате HTML.
Другими словами, это помогает браузеру (или потребителю контента, потому что это может быть не просто браузер) определить, какой контент они собираются потреблять; это означает, что браузер может принять решение о правильном плагине для отображения контента, или медиаплеер может загрузить правильный кодек или плагин.
Ответ №6:
Полезно думать о MIME в контексте модели клиент-сервер. Клиенты и серверы обмениваются данными по так называемому протоколу HTTP. В HTTP — запросе или ответе мы можем иметь тело. Тип содержимого или тип MIME определяет тип тела, например text/javascript
, или что-то еще, например аудио, видео и т. Д.
Однако типы MIME не ограничиваются только HTTP.
Как следует из названия, MIME расшифровывается как Универсальные расширения интернет-почты. Первоначально SMTP поддерживал только ASCII-кодировки. Однако есть необходимость в большем. Мы могли бы использовать MIME для наклеивания ярлыка на передаваемый или принимаемый контент.