e.motion
Статьи

От ящика к ящику

22 сентября 2005 by · Комментариев нет 

Автор: Александр Белков, Дмитрий Смирнов
Опубликовано в журнале «Домашний компьютер» №10 от 22 сентября 2005 года.

Трудно представить компьютерного пользователя, который не ценил бы электронную почту. Тем не менее, наши знания о том, как возник этот удобнейший механизм, как он функционирует и какого уровня достигли «электропочтовые» сервисы, нередко оказываются даже менее полными, чем представления об общем устройстве Интернета. А ведь история рождения и развития электронной почты полна любопытных фактов. Известный парадокс создания е-mail заключается в том, что технологию обмена сообщениями никто не заказывал, под этот проект не выделялось финансирование, не выдавались премии за разработку, даже не защищались диссертации по этой теме. Все получилось как бы само собой; просто появился удобный вспомогательный сервис.

Времена доисторические

Самый ранний прообраз электронной почты назывался SndMsg (то есть Send Message). Принцип действия этой утилиты был до странности похож на желтые наклейки-стикеры на мониторе: с ее помощью пользователи могли обмениваться сообщениями в пределах одной электронно-вычислительной машины. Ни о каком обмене информацией между разными компьютерами и речи еще не шло. Сообщение просто записывалось в текстовый файл (носивший гордое название «Почтовый ящик»), который мог просматривать сам пользователь и его коллеги.

В 1971 году программист американской компании Bolt Beranek and Newman Technologies Рэй Томлинсон (Ray Tomlinson), работавший над созданием военной сети ARPANet и в том числе над встроенной в нее Send Message, написал другую программу, которая c помощью протокола CypNet позволяла сделать запись в файле-«почтовом ящике» не только на своем компьютере, но и на удаленном. Справедливости ради отметим, что Рэй использовал несколько уже существовавших технологий, объединив их функциональность и придав им более или менее дружественный вид. Тем временем компьютеры постепенно распространялись все шире, и вскоре встал вопрос об отправке писем с одного компьютера на другой. Это и спровоцировало появление электронных адресов в том виде, в каком мы знаем их сейчас. Томлинсон сформулировал идею, согласно которой нужно было разделить имя адресата и название ЭВМ, на которой он работает. Перебрав клавиатурные символы, инженер выбрал знак «@». Этот символ редко использовался, но присутствовал в стандартной раскладке любой клавиатуры и читался как «эт», то есть, к примеру, fedor@mordor воспринималось как «Федор из Мордора», что идеально подходило для нужд системы. Довольно быстро программа обросла дополнительными возможностями, и уже в 1972 году создатель концепции сети ARPANet Лоуренс Робертс (Lawrence Roberts) придал почтовой программе привычный для нас вид со всеми ее основными функциями: программа показывала списки писем, позволяла их сортировать, содержала кнопки «Переслать дальше», «Ответить адресату» и т. п. Понятный дружественный интерфейс первого почтового клиента стал одной из причин популярности электронной почты.

Неожиданно для своих создателей e-mail обрела бешеную популярность, и уже через полтора года после ее внедрения три четверти трафика ARPANet приходилось на электронные сообщения. Вскоре возникли списки рассылок — письма, рассылаемые определенным адресатам и содержащие интересующую их информацию. Чуть позже в рассылках стали публиковаться ответы пользователей на сообщения, и так родилась система электронных конференций UseNet.

Появление большого числа персональных компьютеров и dial-up-соединений стало непростым испытанием для первых почтовых механизмов. Пользователи модемных соединений часто бывали отключены от Cети, и доставка почты напрямую с машины на машину, естественно, вызвала затруднения, так как первые почтовые протоколы не знали понятия «почтовый сервер». Однако есть задача — найдется и решение: был разработан протокол SMTP (основа взаимодействия почтовых серверов и, в принципе, передачи почты), а также клиентские протоколы POP3 и, чуть позже, IMAP.

Как работают почтовые протоколы?

Протокол SMTP1 появился в начале 1980-х и быстро стал основным, а по сути, и единственным стандартом передачи электронной почты в Интернете. Он отвечает за прием письма от клиента и его доставку на сервер, с которого оно поступит адресату. Чтобы понять, как работает этот протокол, проведем аналогию с традиционной почтой.

SMTP начинается в тот момент, когда вы опускаете конверт в почтовый ящик около метро или в почтовом отделении. Далее письма вынимаются из ящика, сортируются по странам, индексам, городам, etc. После этого поезда/самолеты/автомобили отправляются в пункты назначения, где письма передаются местным почтовым отделениям. Вплоть до этого события всю работу в электронной почте выполняет SMTP. Момент, когда почтальон из местного отделения связи несет письмо в ваш почтовый ящик, тоже может описываться протоколом SMTP, но может быть реализован и другими механизмами — это зависит от типа «почтового отделения».

Ситуация, когда вы своим ключом открываете почтовый ящик и достаете оттуда письма и газеты, в Интернете описывается протоколом POP32. Логин (имя пользователя) выступает в роли номера дома или квартиры, который значится на почтовом ящике, а пароль служит ключом к нему.

Если же вы написали заявку начальнику отделения связи и попросили оставлять вашу корреспонденцию в почтовом отделении, а также подписались на услугу чтения вам входящей почты по телефону неким доверенным лицом — это будет более или менее похоже на механизм IMAP. Если вернуться к реалиям электронной почты, IMAP — протокол, совмещающий в себе функциональность e-mail и UseNet (онлайновых новостных групп). Ваша почта хранится на сервере, где вы можете ее читать, удалять, архивировать, раскладывать по папкам, устанавливать правила сортировки и т. д. Почтовый IMAP-клиент в этом случае фактически играет роль консоли доступа, кэширующей содержимое папок на своей стороне. Протокол POP3, в отличие от IMAP, не позволяет читать почту напрямую с сервера, не скачивая ее. Существуют утилиты, позволяющие просматривать с помощью POP3 лишь заголовки почты и размер писем (и удалять некоторые из них не читая)3, но, в принципе, это не вполне документированный способ использования данного протокола. Во всяком случае, большинство популярных POP3-клиентов в их базовой комплектации не оснащены подобными функциями.

Подробнее о POP3

Задачей протокола POP3 является получение запроса от клиента, аутентификация последнего и пересылка на клиентскую часть имеющейся почты. При совместном использовании с протоколами шифрования, например SSL, вероятность утечки информации практически сводится к нулю. После установления личности пользователя почтовый сервер, следуя правилам POP3, выдает ему одно сообщение за другим. При соответствующей настройке после успешного получения письма клиент передает серверу команду на удаление этого письма. Впрочем, пользователи со стажем наверняка знают, что в случае обрыва связи с почтовым сервером письма скачиваются повторно. Дело в том, что, согласно протоколу POP3, сервер не сразу исполняет команду «убить письмо». Он накапливает эти команды в буфере и обрабатывает их лишь по окончании сеанса связи, когда от клиента поступает сигнал, означающий «спасибо, все получил».
Такая схема обладает рядом преимуществ — например, позволяет работать с архивом почты в offline-режиме и соединяться с сервером лишь на короткое время.
Для кого-то POP3 является необходимым и единственно удобным клиентским протоколом, но не для всех. Что, скажем, делать людям, которым нужно иметь доступ к своей переписке из нескольких филиалов офиса, а также из дома и из любого интернет-кафе?

Знакомьтесь: IMAP

Действительно, как быть, если, находясь на ответственной встрече, вы ждете важное сообщение и вам нужно прочитать только его, проигнорировав при этом сотню других писем, пришедших за последние сутки? В вашем распоряжении в лучшем случае карманный компьютер, который не годится на роль основного хранилища почты. Разумеется, POP3 при всех своих достоинствах в такой ситуации бесполезен.

Чтобы работать с почтовым сервером, не удаляя хранящуюся на нем информацию, был создан протокол IMAP4. Он поддерживает онлайновый режим работы и не требует скачивания писем с сервера для просмотра (то есть можно увидеть список заголовков сообщений и прочитать письма, не скачивая их вместе с вложениями). Это позволяет работать с одним почтовым ящиком из разных мест или даже с несколькими ящиками одновременно.

Впрочем, несмотря на все эти достоинства, горячей народной любви протокол IMAP не снискал. Для работы с IMAP в любом случае нужна программа-клиент (а она не обязательно есть на каждом компьютере), которую следует настроить на работу с сервером (для этого, как минимум, надо помнить не всегда благозвучный адрес IMAP-сервера, порт, логин, пароль, а возможно, и еще какую-то информацию, например установленный на сервере метод шифрования). Все это не сильно отличается от необходимости носить с собой программу-клиент POP3. Настраивать же почтовые программы на чужих компьютерах для получения собственной почты — дело и вовсе сомнительное, шансы рассекретить переписку вырастают в этом случае на порядки.

Указанные факты вполне объясняют, почему POP3 гораздо популярнее IMAP, который хорош лишь самой идеей. Но только ли ей?..

Что пересылается по электронной почте?

Поначалу почтовые сообщения могли содержать только текст, что было отражено в 1982 году в RFC 822. Этот документ фактически установил стандарт обмена сообщениями в Интернете. В нем не было ни слова о пересылке вложений и скромно умалчивалось о том, что делать жителям стран, в чьем языке используются символы (иероглифическая, арабская, кириллическая и пр. письменность), не включенные в стандартную US-ASCII-таблицу. В то же время стандарт X.400 (который, по сути, является аналогом SMTP), использовавшийся некоторыми гражданскими и военными фирмами, позволял включать в тело письма вложенные файлы. Естественно, и разработчикам SMTP пришлось подумать над такой возможностью. Для решения обеих задач — вложений и поддержки международных кодировок — был предложен механизм MIME (Multipurpose Internet Mail Extensions). Грубо говоря, MIME является «конвертом», в который помещается произвольное содержимое и пересылается по SMTP в виде обычного ASCII-текста, но с заголовком, указывающим адресату, что это MIME. На стороне получателя сообщение принимается и восстанавливается в первоначальном виде. Кстати, одной из причин нечитаемости писем являются ошибки конвертации в MIME, но, к счастью, в наше время это случается редко, почтовые клиенты научились расшифровывать практически любую абракадабру. С описанием MIME желающие могут ознакомиться, почитав документ RFC 1521.

Идея!

Идея централизованного хранения почты на веб-серверах получила реализацию в середине 1990-х. Первые почтовые веб-серверы делились на две категории. Первая — адреса-«алиасы», синонимы. Пользователь регистрировал адрес на таком сервисе, но не получал физического места для почты. Направлявшаяся туда корреспонденция автоматически переадресовывалась на ящик, который физически находился у провайдера или работодателя. При смене физического адреса нужно было лишь заново настроить переадресацию. Некоторые сервисы и сейчас оказывают подобные услуги в качестве дополнительных, например блог-система LiveJournal.com. Алиасы действительно удобны как маска для настоящего электронного адреса, но есть у них и минусы. Так, многие провайдеры позволяют пользоваться своими SMTP-серверами, только если в качестве адреса отправителя указан реальный, провайдерский e-mail. Другие SMTP-серверы насильно переписывают адрес отправителя на настоящий в соответствии с данными авторизации. Получается, что скрываться за e-mail-алиасом не всегда возможно. С другой стороны, любой бесплатный сервис бесплатен лишь отчасти, и пользование алиасами иногда «аукалось» получением непрошенной рекламы; как вариант, за этот сервис приходилось платить. Так что широкого распространения адреса-маски тоже не получили, в отличие от другой категории почтовых веб-серверов, которые предлагали адрес и доступ к почте с помощью обычного браузера. Это казалось не очень удобным для тех, кто привык к POP3-клиентам, но обеспечивало небывалую мобильность и вдобавок стало приемлемой реализацией технологии IMAP с той разницей, что не требовалось устанавливать отдельный клиент.

Главное — доступность

Первая веб-почта появилась десять лет назад, когда некие Джек Смит (Jack Smith) и Сабир Бхатия (Sabeer Bhatia) разработали, а год спустя вывели в коммерческое использование проект под названием Hotmail. Идея доступа к ящику из любой точки мира без дополнительных технических средств стала революционной. Да и само название Hotmail было выбрано не случайно: если написать это слово как HoTMaiL, в нем легко угадывается аббревиатура HTML (язык гипертекстовой разметки), на основании которого работал этот сервис. Популярность почтового сервера оказалась сумасшедшей: в декабре 1997 года система насчитывала 8,5 млн. подписчиков, а в феврале 1999-го — уже больше 30 миллионов по всему миру. Вскоре Hotmail разделил судьбу многих успешных веб-проектов, был на корню куплен компанией Microsoft и стал частью сети Microsoft Network (MSN). Кстати, сервисом косвенно воспользовались и спам/ порно/киберсквоттеры: они зарегистрировали созвучный домен Hotmale.com, на который попадали пользователи, неверно расслышавшие адрес почтового сервиса. Разумеется, этот сайт предоставлял совсем другие услуги.

Вслед за Hotmail стали появляться и другие почтовые сервисы: Usa.net, Yahoo Mail, SoftHome.net и другие. Вскоре к веб-сервисам многих почтовых сайтов добавилась поддержка SMTP и POP3, но здесь возник конфликт интересов. Так как услуги электронной почты оказывались бесплатно, то основной заработок шел через прокрутку баннеров на страницах сайта. Если клиент забирал почту по POP3, рекламы он, естественно, не видел. Поэтому либо приходилось платить за дополнительные удобства, либо соглашаться на получение рекламных писем, либо терпеть внедрение рекламы в получаемую или отправляемую почту.

В 1999 году IT-индустрия впала в депрессию. Инвесторы почувствовали, что переоценили перспективы извлечения прибыли из Сети, и начался заметный отток средств. Почтовые веб-проекты тоже стали угасать. Некоторые закрылись, другие, как Usa.net, объявили об отказе от бесплатной части сервиса и полностью перешли на коммерческую основу. Деньги, правда, взимались символические (от 1 до 10 долларов в год). Однако для российского Интернета это обернулось проблемой. Дело, конечно, не в 10 баксах, на которые наши сограждане вполне могли раскошелиться, а в том, что они не имели к тому технической возможности — оплата производилась с помощью кредитных карт, которые к тому времени еще не получили в России должного распространения. И тогда на сцену вышли отечественные почтовики! До того момента держать почтовый ящик на российском сервере было не модно, к доменам зоны ru в то время еще не относились всерьез, и если домены com и net считались как бы «настоящими», взрослыми, то зона ru вызывала сомнения. Но в ней было много свободных красивых имен, что и сыграло решающую роль. Появился домен Hotmail.ru, а по аналогии с Yahoo! почтовые услуги предложили поисковые серверы Rambler, Яndex и Aport. Каждый из поисковиков старался заполучить как можно больше постоянных пользователей. В целом им это удалось, но тут в процесс вмешался Mail.ru. Этот мегапроект несколько раз менял владельцев и общую бизнес-стратегию, но всегда оставался бесплатным сервисом, предлагающим достаточно места для почты, а также, через некоторое время после открытия, свободный доступ к POP3 и SMTP. Популярность электронной почты и привлекательное название сделали свое дело, и вскоре Mail.ru показал, что на базе качественного почтового сервиса можно организовать серьезный портал с каталогом ресурсов, новостными разделами, службами знакомств, поиска работы и онлайновой коммерцией. Впрочем, кризис IT-индустрии, разразившийся в конце прошлого столетия, не обошел стороной и наши палестины, несколько уравняв шансы многих проектов и поумерив пыл многих «перегретых» компаний.

Остановка «Главпочтамт»

Чем же отличаются почтовые веб-сервисы сейчас? Произошли ли в них качественные изменения? Несомненно. И характер этих изменений уместно назвать революцией. Причиной ее стал еще один поисковый сервис, зарубежный, но не без русских корней: Google.

В конце 2004 года поползли слухи, что в недрах этого поискового гиганта готовится к запуску беспрецедентный почтовый проект — Gmail (очевидно, от слов Google Mail). В 2005 году сервис заработал в тестовом режиме; ажиотаж подогревался клубной системой приглашений для регистрации, которые первое время получить было непросто. Однако игра стоила свеч: сервис предлагал пользователю не 3, не 6, не 10 и даже не 25 Мбайт, что в 2004 году еще являлось нормой для бесплатного или даже платного почтового сервиса. Gmail, недолго думая, объявил, что предоставляет каждому пользователю 1 Гбайт (!) пространства для хранения почты. (В настоящее время квота увеличена до 2 Гбайт.)

Однако революционность состояла не только в увеличении места для почты на два порядка. Вместе с такими объемами пришла новая идеология. Gmail заявил: вам больше не нужно удалять почту, ее нужно сортировать и складывать в архив. Конечно, разобраться в двух гигабайтах писем трудновато даже в домашнем архиве. Однако Google решил эту задачу с помощью своего основного поискового механизма. К примеру, если ваш друг из соседней компании прислал вам деловое письмо, то на него можно повесить два ярлыка: «друзья» и «работа», после чего отправить в архив. Впоследствии письмо может быть найдено по любому из этих ключей. В домашнем же архиве пришлось бы или положить письмо лишь в одну из папок — «Друзья» или «Работа», или держать две его копии.

Поисковые механизмы в сочетании с почтой позволяют творить и иные чудеса. К примеру, письма объединяются в цепочки, которые состоят из корневого письма и дерева ответов на него, что позволяет наглядно понять контекст переписки еще по заголовкам.

Архив почты Gmail — и вовсе загадочная вещь. Наглядного доступа к нему нет, единственный ключик — это поиск. Google говорит: «Нет необходимости запоминать, где находится ваша почта. Это наша работа».

Система Gmail, естественно, бесплатна, и при этом она унаследовала от родительского поисковика традицию текстовой рекламы. Показываемые пользователю ссылки на ресурсы и реклама более или менее соответствуют тематике письма — поисковая машина сканирует текст письма (разумеется, анонимно и только в пределах данного сеанса связи) и показывает рекламу, которая действительно может заинтересовать получателя. Таким образом, уменьшается рекламная «энтропия», снижается степень раздражения пользователя; опять же, реклама действует более эффективно. К тому же Gmail не позволяет себе приписывать рекламу к входящей или исходящей почте и не показывает всплывающие окна.

Официально система Gmail до сих пор работает в тестовом режиме, однако получить код к ней сейчас проще простого: существуют несколько сайтов, на которых приглашение может получить любой желающий5. Каждый вновь зарегистрированный пользователь владеет также полусотней кодов. Система уже переведена на многие языки, в их числе две разновидности английского (США и Великобритания), голландский, французский, немецкий, итальянский, японский, корейский, португальский, испанский, русский, китайские упрощенный и традиционный. Также Gmail предоставляет бесплатный доступ по SMTP и POP3.

Интерфейс системы продуман до мелочей. Благодаря некоторым хитроумным механизмам почту можно читать, удалять и сортировать без перезагрузки основной страницы и без фреймов, что делает работу с сервисом очень удобной.

Вместе с благами и очевидными преимуществами электронная почта принесла миру две болезненные проблемы: вирусы и спам. Разумеется, каждый конкретный вирус или рекламное письмо вполне излечимы, но как явление они будут существовать, кажется, всегда. Сами по себе почтовые службы в появлении вирусов не виноваты, но скорость передачи и колоссальные объемы информации делают e-mail лучшим и очень надежным курьером для доставки вирусов и мусорной рекламы.

В борьбе с этими двумя явлениями веб-почтовики преуспели скорее менее, чем более. Gmail в этом отношении работает довольно прямолинейно (если не сказать тупо): в рамках борьбы с вирусами она запрещает передавать любые письма, содержащие исполняемые файлы, даже если эти файлы упакованы каким-либо популярным архиватором (RAR или ZIP). Однако это одно из немногих порицаний, которые можно вынести прогрессивной почтовой системе от Google. Для борьбы со спамом почтовик снабжен специальной кнопкой «Пожаловаться на спам». Когда набирается некоторое критическое количество жалоб, вступает в действие система блокирования копий данного письма из ящиков других пользователей. Правда, отзывы об эффективности Gmail-спамоловки самые разные, но, вероятно, этот механизм еще не устоялся. Подождем.

Было замечено несколько странностей в работе Gmail с кодировками. Система, без сомнения, не лишена интеллекта, но порой выкидывает странные фортели. Так, если письмо написано по-русски, оно отправляется в кодировке KOI-8. Однако если в письме появляется символ не из этого набора, такой как многоточие, тире или №, кодировка меняется… на японскую или китайскую (зависит от конкретного набора символов)! Большинство почтовых клиентов (точнее, все, кроме Mozilla Thunderbird) расшифровать получившийся текст не в состоянии, и как это удается Thunderbird — уму непостижимо. Впрочем, если в письме встретятся одновременно тире, английские кавычки и знак номера, письмо будет послано уже в кодировке UTF-8 (юникод), которую все современные клиенты обязаны распознавать корректно. Надеемся, что по окончании тестового периода эти огрехи будут исправлены.

Итак, Gmail можно считать не просто веб-почтой, но полноценным почтовым клиентом, который разворачивается в браузере и работает с серверным архивом сообщений. В отличие от большинства своих коллег он оснащен полноценной поисковой системой, а это вовсе не то же самое, что полнотекстовый поиск перебором. Ставим почтовику уверенные пять с минусом... и на этом вынуждены поставить многоточие.

Прогресс топает ногой

Несомненно, почтовику от Google есть альтернативы, в том числе в российском сегменте Интернета. Конкуренты стараются не отставать ни в объемах предоставляемого под почтовые ящики пространства, ни в общем количестве всевозможных сервисов, облегчающих жизнь пользователя. Вынуждены не отставать. Компании подобные Google задают планку, которой нужно либо соответствовать, либо уходить в тень. Пользователи же от этой гонки пока только выигрывают. Но что ждет электронную почту в ближайшем и не очень будущем? В контексте разговоров об Internet-2 подобная тема выглядит необъятной. Однако ей мы еще посвятим отдельный материал.

Авторы выражают благодарность за исследования системы Gmail Давиду Мзареуляну.


1 Simple Mail Transfer Protocol (простой протокол передачи почты). Его полное описание можно посмотреть в RFC-документах, в частности в RFC 821.

2 Post Office Protocol (протокол почтового офиса) версии 3; его описание можно найти в RFC 1939.

3 К примеру, в почтовом клиенте The Bat! подобную функциональность обеспечивает «Диспетчер писем» (Mail Dispatcher).

4 Internet Message Access Protocol (протокол доступа к сообщениям в Интернете); в настоящий момент IMAP переживает уже четвертую реализацию.

5 К примеру, www.gmailinvitation.com.

  • WordPress

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

e.motion