История стартует в 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, наследием скромного стандарта для почты, который оказался идеальным для Веба!

Спасибо за прочтение! Буду рад если ты подпишешься на мой маленький телеграм-канал.

Комментарии (1)