Примечания переводчиков:
1. Статья предназначена для начинающих разработчиков и интересующихся разработкой. Здесь нет глубоких технических деталей.
2. В оригинальной статьей используются два сокращения: SYN и SYNC. Пониманию это особенно не помогает, поэтому, чтобы не запутывать читателя, мы оставили только SYN.
Браузеры — это программное обеспечение, установленное у нас на устройствах и позволяющее получать доступ к Интернету. Одним из них вы пользуетесь, когда читаете этот текст. Браузеров много, и по состоянию на 2021 год наиболее часто применяются следующие: Google Chrome, Safari, Microsoft Edge и Firefox.
Но как они работают, и что происходит от момента ввода адреса до тех пор, пока нужная страница не отобразится на экране?
Если максимально упростить, то всё происходит так: когда мы запрашиваем страницу определённого сайта, браузер извлекает необходимый контент с сервера, а затем отображает страницу на устройстве. Довольно просто, да? Да, но в этом, казалось бы, очень простом процессе гораздо больше составляющих.
7 лучших браузеров на Windows 10 в 2021 году
В этом цикле статей мы поговорим о навигации, получении данных, синтаксическом анализе и визуализации. Надеемся, что эти процессы станут для вас понятнее.
НАВИГАЦИЯ
Навигация — первый шаг к загрузке страницы. Это процесс, когда пользователь запрашивает страницу: нажимает на ссылку, пишет адрес в адресной строке браузера, отправляет форму и т. д.
Поиск DNS (разрешение адреса)
Первый шаг при переходе на страницу – поиск того, где находятся ресурсы этой страницы (HTML, CSS, JavaScript и другие типы файлов). Если перейти на https://example.com, то HTML-страница расположена на сервере с IP-адресом 93.184.216.34. Для нас сайты — это имена доменов, а для компьютеров — IP-адреса. Если мы не посещали этот сайт раньше, происходит поиск системы доменных имен (DNS).
DNS-серверы содержат базу данных публичных IP-адресов и связанных с ними имен хостов (их обычно сравнивают с телефонной книгой, в которой имена связаны с номерами). В большинстве случаев серверы служат для разрешения или преобразования имен в IP-адреса по запросу (в настоящее время существует более 600 различных корневых серверов DNS, распределенных по всему миру).
Поэтому, когда мы запрашиваем поиск DNS, на самом деле мы взаимодействуем с одним из этих серверов и просим выяснить, какой IP-адрес соответствует имени https://example.com. Если найден соответствующий IP-адрес, он предоставляется. Если поиск почему-то не удался, в браузере появляется сообщение об ошибке.
После этого первоначального поиска IP-адрес, вероятно, на некоторое время будет сохранён в кэше. Поэтому следующие посещения того же сайта будут происходить быстрее, так как не нужно искать DNS. Помните, поиск DNS происходит только при первом посещении сайта.
Самые редкие браузеры: что скачать искушенному юзеру
Подтверждение TCP (протокол управления передачей)
Как только браузер узнает IP-адрес сайта, он попытается установить соединение с сервером, на котором хранятся ресурсы, с помощью трехэтапного подтверждения TCP (также называемого SYN — SYN — ACK , или, точнее, SYN , SYN — ACK , ACK , потому что согласно TCP передаются три сообщения для согласования и начала сеанса TCP между двумя компьютерами).
TCP означает «протокол управления передачей», стандарт связи, который позволяет прикладным программам и вычислительным устройствам обмениваться сообщениями по сети. Он предназначен для отправки пакетов данных через Интернет и обеспечения успешной доставки данных и сообщений по сети.
Подтверждение TCP – это механизм, предназначенный для того, чтобы два объекта (в нашем случае браузер и сервер), которые хотят передавать информацию друг другу, согласовали параметры соединения перед передачей данных.
Таким образом, если представить, что браузер и сервер – два человека, разговор между ними будет выглядеть примерно так:
Браузер отправляет серверу сообщение SYN и запрашивает синхронизацию (синхронизация означает подключение).
Затем сервер отвечает сообщением SYN — ACK (синхронизация и подтверждение):
На последнем этапе браузер отвечает сообщением ACK .
Теперь, когда соединение TCP (двустороннее соединение) установлено посредством трехэтапного подтверждения, можно начинать обмен данными по TLS.
Переговоры в TLS
Для безопасных соединений, установленных по протоколу HTTPS, требуется еще одно подтверждение.
Это подтверждение (переговоры в TLS) определяет, какой шифр будет использоваться для шифрования связи, проверяет сервер и подтверждает, что безопасное соединение установлено до начала фактической передачи данных.
Протокол защиты транспортного уровня (TLS), преемник уже устаревшего слоя защищённых сокетов (SSL), представляет собой криптографический протокол, предназначенный для обеспечения безопасности связи по компьютерной сети. Протокол широко используется в электронной почте и при обмене мгновенными сообщениями, но применение в защите HTTPS наиболее заметно. Поскольку приложения обмениваются данными как в TLS (или SSL), так и без него, клиенту (браузеру) необходимо запросить, чтобы сервер настроил соединение в TLS.
На этом шаге происходит обмен сообщениями между браузером и сервером.
- Клиент приветствует. Браузер отправляет серверу сообщение, в котором указывается, какую версию TLS и набор шифров он поддерживает, а также строка случайных байтов, известная как случайное число клиента.
- Приветственное сообщение сервера и сертификат. Сервер отправляет обратно сообщение, содержащее сертификат SSL сервера, выбранный сервером набор шифров и случайное число сервера – строку случайных байтов, которую генерирует сервер.
- Аутентификация. Браузер проверяет сертификат SSL сервера в центре сертификации, который его выдал. Таким образом, браузер убеждается, что сервер тот, за кого себя выдает.
- Предварительный секретный ключ. Браузер отправляет еще одну строку случайных байтов – предварительный секретный ключ, зашифрованный открытым ключом, который браузер взял из сертификата SSL с сервера. Сервер может расшифровать предварительный секретный ключ только с помощью закрытого ключа.
- Используется закрытый ключ. Сервер расшифровывает предварительный секретный ключ.
- Ключи сеанса созданы. Браузер и сервер генерируют ключи сеанса из случайного числа клиента, случайного числа сервера и секретного ключа.
- Клиент завершает работу. Браузер отправляет на сервер сообщение о том, что он завершил работу.
- Сервер завершает работу. Сервер отправляет браузеру сообщение о том, что он также завершил работу.
- Достигнуто надежное симметричное шифрование. Подтверждение завершено, и связь можно продолжать с помощью ключей сеанса.
Теперь можно запрашивать и получать данные с сервера.
ПОЛУЧЕНИЕ ДАННЫХ
В предыдущей статье мы говорили о навигации — первом этапе, который проходит браузер, чтобы отобразить сайт. Сегодня посмотрим, как происходит получение ресурсов.
HTTP Request (запрос)
После установления безопасного соединения с сервером браузер отправит первоначальный HTTP-запрос методом GET. Сначала браузер запросит HTML-документ с разметкой страницы. Для этого используется протокол HTTP.
HTTP (протокол передачи гипертекста) – протокол для получения ресурсов, например, HTML-документов. Основа любого обмена данными в Интернете – это протокол взаимодействия клиента и сервера, который означает, что запросы инициирует получатель, обычно браузер.
Метод – например: POST (отправить), GET (получить), DELETE (удалить) и т. д.
URI – это унифицированный (единообразный) идентификатор ресурса. URI используется для идентификации абстрактных или физических ресурсов в Интернете, например сайтов или адресов электронной почты. У URI насчитывается до 5 частей:
- Схема: используется для обозначения используемого протокола.
- Иерархическая часть: используется для идентификации домена.
- Путь: используется для отображения точного пути к ресурсу.
- Запрос: используется для представления запроса.
- Фрагмент: используется для ссылки на часть ресурса.
Поля заголовка HTTP – это список строк, отправляемых и получаемых как браузером, так и сервером при каждом HTTP-запросе и ответе (обычно они невидимы для конечного пользователя). В запросах они содержат больше информации о ресурсе, который нужно получить, или о браузере, запрашивающем ресурс.
HTTP Response (ответ)
Как только сервер получит запрос, он обработает его и отправит HTTP-ответ. В приложении к основному тексту ответа находятся все соответствующие заголовки и содержимое запрошенного HTML-документа.
Код состояния – например: 200, 400, 401, 504 Gateway Timeout (Время ожидания шлюза сервера истекло) и т. д. Мы стремимся к коду состояния 200, так как он означает, что всё прошло хорошо, и запрос выполнен успешно.
Поля заголовка ответа содержат дополнительную информацию об ответе, например о местоположении или сервере, предоставляющем ответ.
Пример HTML-документа выглядит примерно так:
Если посмотреть на HTML-документ, видно, что он ссылается на различные файлы CSS и JavaScript. Запроса на данные файлы не будет до тех пор, пока браузер не столкнется с этими ссылками, но это произойдёт не на данном этапе, а во время парсинга — синтаксического анализа, о котором пойдёт речь в следующей статье. На данный момент запрашивается и принимается от сервера только HTML.
В ответе на такой первоначальный запрос содержится первый байт полученных данных. Время до получения первого байта (TTFB, Time to First Byte) – время между моментом, когда пользователь сделал запрос (введя имя сайта в адресную строку), и моментом получения первого пакета HTML (обычно 14 кб).
Алгоритмы медленного запуска и предотвращения перегрузки TCP
Медленный старт TCP – это алгоритм, который уравновешивает скорость сетевого соединения. Первый пакет данных составляет 14 кб (или меньше), и его роль заключается в том, что объем передаваемых данных постепенно увеличивается, пока не достигнет заранее определённого порога.
После получения каждого пакета данных от сервера клиент отвечает сообщением ACK. Поскольку пропускная способность соединения ограничена, если сервер отправляет слишком много пакетов слишком быстро, они будут потеряны. В таком случае, сервер не получит ACK-собщение, интерпретирует это как перегрузку сети и запустит алгоритмы предотвращения перегрузки. Они отслеживают поток отправленных пакетов и ACK-сообщений, определяют оптимальную скорость и создают устойчивый поток трафика.
Ещё одна статья про frontend для начинающих:
- Как сделать свой текстовый редактор на React.js
- Как работают браузеры: навигация и получение данных, парсинг и выполнение JS, деревья спец возможностей и рендеринга
Другие статьи про frontend для продвинутых:
- Как мы выбирали архитектуру микрофронтендов в ЛК для 260 000 сотрудников Пятёрочки
- Как мы сетапили монорепозиторий с SSR и SPA для Otus.ru
- Как собрать свою библиотеку для SSR на React
Источник: habr.com
Тема 7.3. Программные средства доступа в сеть. Браузеры, почтовые программы
Типы сервисов Интернета. Все прикладные сервисы сети Интернет можно разделить на три группы — интерактивные, прямого обращения и отложенного чтения.
К группе интерактивных сервисов относятся такие, где требуется Iнемедленная реакция от получателя информации, т.е. получаемая информация, в сущности, является запросом.
Сервисы прямого обращения характеризуются тем, что информация по запросу возвращается немедленно.
Наиболее распространенными являются сервисы отложенного I чтения, например электронная почта. Для них основным признаком служит та особенность, что запрос и получение информации могут быть достаточно заметно разделены во времени (это определяется актуальностью информации на момент ее получения). Сервисы отложенного чтения наиболее универсальны и наименее требовательны к ресурсам ЭВМ и линиям связи.
Существует и другой подход к делению услуг, предоставляемых сетью Интернет. Они делятся на две категории: услуги по обмену информацией между абонентами сети и услуги, связанные с использованием баз данных сети. Все эти сервисы относятся к сервисам верхнего уровня стека TCP/IP. Они в наибольшей степени интересуют пользователей, поскольку осуществляют и контролируют те функции, ради которых используется Интернет и благодаря которым эта сеть стала удобным, дружественным и многофункциональным средством общения.
Рассмотрим наиболее распространенные услуги сети
Электронная почта (e-mail). К числу наиболее популярных прикладных сервисов Интернета принадлежит электронная почта (ЭП). Эффективность, простота использования и скорость (E-mail сообщения могут передаваться и достигать адресата через весь земной шар за считанные минуты) сделали этот сервис наиболее распространенным.
В настоящее время предлагается множество различных пакетов программ для организации системы ЭП, в том числе в локальных сетях. Если ЛКС через шлюз связана с сетью более высокого уровня, что практически повсеместно, то можно пользоваться услугами ЭП в более широком масштабе. Наиболее распространенными системами ЭП являются Microsoft Mail, Microsoft Exchange, Lotus cc: Mail. В качестве основного протокола работы с ЭП используется SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты) — протокол прикладного уровня. Он обеспечивает достоверную и надежную передачу сообщений между произвольными узлами сети Интернет.
SMTP-протокол в своей работе использует TCP как транспортный протокол.
Любое почтовое сообщение состоит из конверта (заголовка) сообщения и тела сообщения. Конверт содержит информацию, необходимую для доставки и обработки сообщения. Тело сообщения содержит информацию, которую отправитель передает получателю. Структура конверта обычно определяется локальным почтовым программным обеспечением. В конверте содержится информация о структуре и составе передаваемых данных, дате формирования сообщения, имени и адресе отправителя, имени и адресе получателя (или группы получателей), теме сообщения и др.
Система электронной почты в Интернете универсальна: сети, построенные на совершенно разных принципах и протоколах, могут обмениваться электронными письмами с Интернетом, получая тем самым доступ к другим ресурсам сети.
Практически все сервисы Интернета, использующиеся обычно как сервисы прямого доступа (on-line), имеют интерфейс к электронной почте. Поэтому если пользователь не располагает доступом к Интернету в режиме on-line, он может получить большую часть информации, хранящейся в этой сети, посредством дешевой электронной почты.
В Интернете есть возможность отправки как текстовых, так и двоичных файлов. На размер почтового сообщения в сети накладывается ограничение: он не должен превышать 64 Кбайт.
Скорость доставки электронных писем сильно зависит от используемого механизма передачи. В Интернете существуют два механизма передачи. Первый основан на протоколе UUCP (UNIX-to-UNIX Copy Protocol — протокол пакетного режима передачи) и реализует пакетный режим передачи off-line, характерный для дейтаграммных сетей. Письмо передается по сети от узла к узлу программами Sendmail, и возможны задержки в каждом узле.
Основной (второй) механизм передачи базируется на протоколе SMTP (Simple Mail Transfer Protocol — протокол электронной почты) семейства протоколов TCP/IP в сети коммутации пакетов. Он реализует передачу почты в режиме on-line: на время передачи между отправителем и получателем создается виртуальный канал, и письмо пересылается в течение нескольких секунд, при этом вероятность потери или подмены письма минимальна.
Система новостей UseNet (телеконференции). Это второй по распространенности сервис Интернета, представляющий собой распределенную систему ведения дискуссий, механизм распространения сетевых новостей. Эта система обеспечивает ведение дискуссий (телеконференций) по выбранной теме, осуществляет фильтрацию статей по ключевым словам, тиражирование и рассылку подписчикам ста- тлей. В отличие от электронной почты в системе новостей необходимо централизованное хранение статей на UseNet-серверах, так как к банку статей должны иметь доступ все пользователи сети, подсоединенные к этому серверу.
Система UseNet работает по протоколу прикладного уровня NNTP (Network News Transport Protocol — протокол передачи новостей). Он работает поверх транспортного протокола TCP/IP и используется для обеспечения связи между серверами, работающими с программным обеспечением UseNet, и следовательно, взаимодействия участников дискуссий по модели «клиент — сервер». В первое время для передачи пакетов новостей (как и для передачи электронной почты) использовался протокол UUCP (Unix-to-Unix Copy). Он применяется и сейчас, но энергично вытесняется более быстрым и гибким протоколом NNTP.
В системе телеконференций (ТК) принцип электронной почты получил дальнейшее развитие. Если в системе ЭП сообщения адресуются «один к одному» и каждому пользователю предоставляется индивидуальный «почтовый ящик», то в системе ТК адресация осуществляется по принципу «один ко всем» и на всех участников ТК выделяется один ящик.
Механизм распространения сетевых новостей достаточно прост: каждый узел сети, получивший новое сообщение, передает его тем узлам, с которыми он обменивается новостями. Следовательно, посланное пользователем сообщение распространяется, многократно дублируясь, по сети, достигая за короткие сроки всех участников телеконференций UseNet во всем мире.
Новости разделены по иерархически организованным тематическим группам. Часто темы пресекаются, и многие статьи отправляются сразу в несколько конференций.
В число основных иерархий конференций, составляющих «большую семерку» и присутствующих на всех крупных системах сети ТК UseNet, входят:
• сотр — конференции по вопросам, связанным с компьютерами и
программированием;
• misc — темы, не входящие ни в один из основных классов или
относящиеся сразу к нескольким;
• news — вопросы по программам обмена новостями и развитию
системы телеконференции;
• гее — вопросы на темы отдыха, хобби, увлечений;
• sci — конференции для дискуссий и обмена опытом по различным
научным дисциплинам;
• soc — вопросы общественной жизни;
• talk — конференции, ориентированные на обсуждение спорных
вопросов по любой тематике.
Любой компьютер, полноценно подключенный к Интернету, имеет доступ к новостям UseNet, однако новости UseNet распространяются и по другим сетям.
Почтовые списки. Иначе они называются списками рассылки (Mailing Listc). Это практически единственный сервис, не имеющий собственного протокола и программы-клиента и работающий только через электронную почту. Это очень простой и полезный сервис.
Идея его организации заключается в следующем: в сети выделяется адрес электронной почты, который является общим адресом многих пользователей-подписчиков определенного списка рассылки. Каждый список рассылки посвящается какой-то конкретной теме. Пользователи-подписчики могут посылать свои сообщения по общему адресу, и тогда эти сообщения рассылаются всем, кто подписался на данный список рассылки. Имеются общедоступные почтовые списки, а некоторые списки имеют ограничения на участие в них.
По своим задачам, которые призван решать такой сервис, почтовые списки похожи на сетевые новости UseNet (телеконференции). Однако имеются и существенные отличия. Основные из них:
• статьи в сетевых новостях по прошествии определенного времени стираются и становятся недоступны, а сообщения, распространяемые по электронной почте по списку рассылки, всегда будут прочитаны подписчиком, дождавшись его в почтовом ящике;
• для работы со списком рассылки обычно достаточно доступа к
электронной почте, подписчиками могут быть пользователи, не имеющие доступа к новостям UseNet;
• передача сообщений по спискам рассылки может осуществляться быстрее, так как они передаются абонентам напрямую, а не по цепочке между серверами UseNet.
Списки рассылки создаются организациями для оповещения своих клиентов, пользователей своей продукции и вообще лиц, заинтересованных в выпуске новых продуктов или передаче новостей компании. Они требуются также, когда обсуждается какой-то вопрос, интересующий слишком малый круг людей, чтобы заводить для него отдельную группу в новостях UseNet.
Передача файлов. Это один из первых широко используемых сервисов Интернета, в основе которого лежит протокол передачи файлов FTP (File Transfer Protocol), обеспечивающий доступ к файлам в файловых архивах. FTP — это стандартная программа, работающая по протоколу TCP. Она обеспечивает передачу файлов между компьютерами, взаимодействующими в сетях TCP/IP: на одном из них работает программа-сервер, а на другом пользователь запускает программу — клиент, которая соединяется с сервером и передает или получает по протоколу FTP-файлы.
FTP — сервис прямого доступа, требующий подключения компьютера в сеть Интернет. Однако возможен доступ и через электронную почту, для чего имеются серверы, которые по запросу могут прислать по электронной почте запрашиваемые файлы. При этом запрос может довольно долго ожидать своей очереди. Есть и другое неудобство: большие файлы при отсылке делятся сервером на части ограниченного размера, посылаемые отдельными письмами; в случае потери хотя бы одного письма остальные принятые письма, принадлежащие запрашиваемому файлу, окажутся ненужными.
Системы автоматизированного поиска информации в сети Интернет. Компании всего мира широко используют сеть Интернет — эту всемирную информационную супермагистраль для поиска и получения информации практически любого вида. В сети Интернет имеются тысячи баз данных и десятки навигационных систем. Для облегчения и ускорения поиска необходимой информации используются вспомогательные программы, интегрированные в структуру Интернета и
составляющие ядро автоматизированных систем поиска и получения информации.
Сеть Интернет работает с тремя системами поиска информации -Gopher, Wais и WWW, главная из них WWW.
Система Gopher — система пересылки файлов. Это достаточно известное и распространенное средство поиска информации в сети Интернет, позволяющее находить информацию по ключевым словам и фразам.
Система Wais — это информационная система широкого профиля, представляющая собой комплекс программ, предназначенных для индексирования больших объемов неструктурированной (как правило, просто текстовой) информации, поиска по таким материалам и извлечения из них запрашиваемых данных.
Система WWW (World Wide Web — всемирная информационная сеть). В качестве основного протокола системой WWW используется
гой. Большинство современных программ просмотра обеспечивают доступ не только к страницам Web-серверов (или к Web-страницам), но и включают возможности обработки электронной почты, телеконференций Usenet, позволяют работать с сервисом FTP, Gopher и др. В программы просмотра встраиваются редакторы Web-страниц.
Подготовка гипермедиа-документов осуществляется на языке HTML (Hyper Text Markup Language — язык описания гипертекстовых документов). HTML — это язык
Каталоги Интернета — средства хранения тематически систематизированных коллекций ссылок на различные сетевые ресурсы, в первую очередь на документы WWW.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
ПОЧТОВЫЕ ПРОГРАММЫ
Существует много почтовых программ, значительная часть из них бесплатна. Все они довольно похожи и лишь немного различаются по своим дополнительным возможностям и по степени соответствия принятым стандартам. Наиболее распространенные программы следующие:
Microsoft Internet Mail — поставляется в составе операционной системы. Простая и приятная в использовании, эта программа наиболее корректно работает с письмами на русском языке. Не поддерживает IMAP.
Microsoft Outlook Express — более навороченная программа от того же производителя, входит в состав Microsoft Office и Microsoft Internet Explorer. Не свободна от дефектов, особенно при работе с русскими сообщениями.
Netscape Messenger — бесплатная программа фирмы Netscape, входит в состав Netscape Communicator. Все, что было сказано об Outlook Express, можно дословно повторить для Messenger.
Eudora — почтовая программа фирмы Qualcomm. Облегченная версия (Eudora Lite). Ранее пользовалась очень большой популярностью, но с появлением бесплатных программ других производителей практически перестала развиваться. Категорически не рекомендуется для переписки по-русски.
Современные почтовые программы превратились из простого средства коммуникации в приложения для повышения производительности труда, которые помогают и на работе, и дома.
Почтовая программа (клиент электронной почты, почтовый клиент, мейл-клиент, мейлер) — программное обеспечение, устанавливаемое на компьютере пользователя, предназначенное для получения, написания, отправки и хранения сообщений электронной почты одного или нескольких пользователей (в случае, например, нескольких учётных записей на одном компьютере).
Большие почтовые программы, т. н. «всё в одной», такие как Mozilla Thunderbird, The Bat! и Microsoft Outlook, сегодня комбинируют работу MSA, MDA и MRA в одном приложении. Более простые почтовые агенты (англ. mail user agent, MUA), например Mutt, также являются почтовыми программами.
В отличие от почтового сервера, клиент электронной почты обычно отправляет сообщение не прямо на соответствующий сервер получателя, а на один и тот же почтовый сервер, который выступает как релей. Обычно это почтовый сервер провайдера или компании. Отправка почты чаще всего осуществляется по протоколу SMTP.
Клиент электронной почты принимает почту с одного или нескольких почтовых серверов, часто это тот же самый сервер, который служит для отправки. Приём почты обычно осуществляется по протоколам POP или IMAP.
Также в функции клиента электронной почты может входить: сортировка, хранение сообщений, поиск по архиву сообщений, ведение адресной книги, фильтрация принимаемых сообщений по разным критериям, конвертация форматов, шифрование, организация интерфейсов с офисными программами и другие функции.
Часто почтовые программы позволяют общаться в группах новостей (Usenet), основанных на технологии NNTP. Существуют NNTP-шлюзы в сеть Фидонет.
Некоторые веб-браузеры, такие как Opera (M2) или SeaMonkey, имеют встроенные почтовые программы.
Обычно для просмотра HTML-писем почтовые программы пользуются движками родственных браузеров: Microsoft Outlook Express пользуется Trident; Mozilla Thunderbird — Gecko, совместно с SeaMonkey и Firefox.
На 2008 год самыми распространёнными почтовыми программами, используемыми под распространёнными операционными системами Microsoft Windows NT, являлись:
- · Microsoft Outlook
- · Microsoft Outlook Express
- · The Bat!
- · Mozilla Thunderbird
В операционных системах, основанных на GNU/Linux, популярны, в частности:
- · KMail (в среде KDE)
- · Mozilla Thunderbird
- · Mutt
- · slrn
Для сотовых телефонов с поддержкой J2ME:
- · MailMan
- · Email Viewer
Источник: studwood.net