История стартует в 1982, когда Университет Карнеги (Carnegie Mellon University, CMU) и корпорация IBM запустили Andrew Project, проект который должен был упростить коммуникацию и совместную работу внутри университетского кампуса. Ведь на момент 1982 года, файлы студентов хранились на дискетах которые им приходилось таскать пачками! :-(
Поэтому в рамках Andrew Project была разработана Andrew File System(AFS), по сути частное «облако» для университета. Она позволяла хранить файлы не на дискетах, а на серверах, и получать доступ к ним через любой компьютер! Теперь студенты могли не носить дискеты с собой!
Но на этом цели Andrew Project не закончились! Нужно было обеспечить людей инструментами для работы и коммуникации, поэтому был создан Andrew ToolKit(Набор приложений) и самое главное - Andrew Messaging System, которая включала в себя не только почту, но и систему bulletin boards(BBS).
Но и в мире почты назревала проблема. Изначальный стандарт электронной почты (RFC 822) был рассчитан только на простой английский 7-битный ASCII текст. Отправлять на другом языке, не говоря уже о картинках или документах, было невозможно. Инженеры из Bell Communications Research(Nathaniel Borenstein и Ned Freed) решили эту проблему, создав в 1992 году стандарт MIME(Multipurpose Internet Mail Extensions). Он стал универсальным языком, описывающим, что находится внутри письма: будь то текст на японском, фотография с отдыха или документ.
И все было прекрасно... до 1995-ого года, Когда проект Всемирной паутины публично запустился, Она была яркой, графической, с ссылками, по которым можно было прыгать туда-сюда с одной страницы на другую! Но в разгаре войны браузеров, каждый пытался добавить свои фишки в веб-движок, да и в принципе их движки по разному обрабатывал контент, что создавало хаос для разработчиков.
И тут на помощь пришёл MIME - скромный, до ужаса простой, почтовый стандарт...
Но чем же MIME спас Веб?
Он решил проблему базового непонимания, представим ситуацию, сервер посылает файл, как браузеру понять, это HTML-страница? CSS или картинка? MIME ввёл универсальный формат заголовков, Content-Type, теперь сервер говорил:
Content-Type: text/html- «Эй, браузер, это текст, и это твоя родная HTML-страница, рендерь её!»Content-Type: image/jpeg- «Внимание, это картинка JPEG, покажи её пользователю.»Content-Type: application/pdf- «Это нечто иное, PDF-документ. Если у тебя есть поддержка PDF - открой его, если нет - предложи скачать.»
...которую сразу же интегрировали в новую версию HTTP - HTTP 1.1(RFC 2068)
Таким образом простой почтовый стандарт, рождённый для пересылки документов и картинок, совершил тихую революцию! Он стал универсальным языком, который помог Вебу стандартизироваться! MIME не просто спас Веб - он сделал его единым! и по сей день каждая картинка, CSS, JavaScript - приходит с пометкой Content-Type, наследием скромного стандарта для почты, который оказался идеальным для Веба!
Спасибо за прочтение! Буду рад если ты подпишешься на мой маленький телеграм-канал.