Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Лекции по компьютерным сетям.docx
Скачиваний:
8
Добавлен:
02.12.2018
Размер:
474.66 Кб
Скачать

§3 Электронная почта

Электро́нная по́чта (англ. email, e-mail, от англ. electronic mail) — технология и предоставляемые ею услуги по пересылке и получению электронных сообщений (называемых «письма» или «электронные письма») по распределённой (в том числе глобальной) компьютерной сети.

Появление электронной почты можно отнести к 1965 году, когда сотрудники Массачусетского технологического института (MIT) Ноэль Моррис и Том Ван Влек написали программу MAIL для операционной системы CTSS (Compatible Time-Sharing System), установленную на компьютере IBM 7090/7094.

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

В 1982 году предложения по работе с электронной почтой, выдвинутые администрацией сети ARPANET, были опубликованы в виде протоколов RFC 821 (протокол передачи) и RFC 822 (формат сообщений). Подвергнувшись минимальным изменениям, они стали стандартами Интернета RFC 2821 и RFC 2822.

Общепринятым в мире протоколом обмена электронной почтой является SMTP (англ. Simple mail transfer protocol — простой протокол передачи почты). В общепринятой реализации он использует DNS для определения правил пересылки почты (хотя в некоторых системах, например, Microsoft Exchange, SMTP может действовать на основе информации из других источников).

В различных доменах настроены свои, независимые друг от друга, почтовые системы. У каждого почтового домена может быть несколько пользователей. Почта передаётся между узлами с использованием программ пересылки почты (англ. Mail Transfer Agent, MTA; такими, как, например, sendmail, exim4, postfix, Microsoft Exchange Server, Lotus Domino и т. д.). Поведение систем при связи друг с другом строго стандартизировано, для этого используется протокол SMTP (и соблюдение этого стандарта, наравне с всеобщей поддержкой DNS всеми участниками, является основой для возможности связи «всех со всеми» без предварительных договорённостей). Взаимодействие почтовой системы и пользователей, в общем случае, никак не регламентируется и может быть произвольным, хотя существуют как открытые, так и закрытые (завязанные на ПО конкретных производителей) протоколы взаимодействия между пользователями и почтовой системой. Программа, работающая в почтовой системе и обслуживающая пользователей, называется MDA (англ. Mail Delivery Agent, агент доставки почты). В некоторых почтовых системах MDA и MTA могут быть объединены в одну программу, в других системах могут быть разнесены в виде разных программ или вообще выполняться на различных серверах. Программа, с помощью которой пользователь осуществляет доступ, называется MUA (англ. Mail User Agent), хотя в случае, например, веб-интерфейса, может и отсутствовать.

MTA (англ. Mail Transfer Agent — агент пересылки почты) — часть почтовой системы, отвечающая за отправку почты.

MDA (англ. Mail Delivery Agent — агент доставки почты) — отвечает за доставку почты конечному пользователю.

MUA (англ. Mail user agent — почтовый агент пользователя; в русской нотации закрепился термин почтовый клиент) — программа, обеспечивающая пользовательский интерфейс, отображающая полученные письма и предоставляющая возможность отвечать, создавать, перенаправлять письма.

MRA англ. Mail retrieve agent — почтовый сервер, забирающий почту с другого сервера по протоколам, предназначенным для MDA.

Агенты могут быть реализованы как отдельные приложения или существовать в рамках одной почтовой программы.

Внутри почтовой системы может быть множество почтовых серверов, выполняющих как пересылку почты внутри организации, так и другие, связанные с электронной почтой задачи: фильтрацию спама, проверку вложений антивирусом, обеспечение автоответа, архивация входящей/исходящей почты, обеспечение доступа пользователям различными методами (POP3, ActiveSync). Взаимодействие между серверами в рамках одной почтовой системы может быть как подчинено общим правилам (использование DNS и правил маршрутизации почты с помощью протокола SMTP), так и следовать собственным правилам компании (используемого программного обеспечения).

Маршрутизация почты

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

DNS позволяет указать в качестве принимающего сервера (MX-запись) любой узел интернета, не обязательно являющийся частью доменной зоны домена получателя. Это может использоваться для настройки релеинга (пересылки) почты через третьи серверы. Сторонний сервер (например, более надёжный, чем серверы пользователя) принимает почту для домена пользователя и пересылает его на почтовые серверы пользователя как только появляется возможность.

При маршрутизации используется только доменная часть адреса получателя (то есть часть, находящаяся после символа @). Для домена получателя ищутся все MX-записи. Они сортируются в порядке убывания приоритета. Если адрес почтового сервера совпадает с одним из узлов, указанных в MX-записях, то все записи с приоритетом меньшим приоритета узла в MX-записи отбрасываются, а доставка осуществляется на первый отвечающий узел (узлы пробуются в порядке убывания приоритета). Если MX-запись для домена не найдена, то некоторые серверы могут пытаться доставлять почту по A-записи. Если же записи о домене нет, то формируется сообщение о невозможности доставки. Это сообщение формируется с пустым полем отправителя, в поле «Кому» указывается отправитель исходного письма. Пустое поле отправителя позволяет защитить почтовые сервера от бесконечного хождения сообщений об ошибке между серверами — если сервер обнаруживает, что не может доставить письмо с пустым обратным адресом, то он уничтожает его.

Если сеть имеет различные DNS-серверы (например, внешние — в Интернете, и локальные — в собственных пределах), то возможна ситуация, когда «внутренние» DNS-серверы в качестве наиболее приоритетного получателя указывают на недоступный в Интернете сервер, куда и перенаправляется почта с релея, указанного как узел-получатель для Интернета. Подобное разделение позволяет осуществлять маршрутизацию почты по общим правилам между серверами, не имеющими выхода в Интернет.

Протоколы доступа к серверам

Существует две различные модели работы с почтой: концепция почтового ящика и хранилища почты. В концепции почтового ящика почта на сервере хранится временно, в ограниченном объёме (аналогично почтовому ящику для бумажной почты), а пользователь периодически обращается к ящику и «забирает» письма (то есть почтовый клиент скачивает копию письма к себе и удаляет оригинал из почтового ящика). На основании этой концепции действует протокол POP3.

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

В определённых условиях сервер хранения писем может быть настроен на поведение, подобное клиенту: такой сервер обращается к почтовому серверу по протоколу POP3 и забирает почту себе. Подобные решения используются обычно в малых организациях, в которых нет инфраструктуры для развёртывания полноценных почтовых серверов; в этом случае используется локальный сервер для хранения почты и почтовый сервер провайдера, предоставляющий услугу получения почты по POP3. Основным недостатком подобного решения является задержка в доставке.

Структура электронного письма

Электронное письмо состоит из следующих частей:

1. Заголовок SMTP-протокола, полученных сервером, содержащий:

имя отправляющего узла (имя сервера или компьютера пользователя) — параметр сообщения HELO/EHLO.

Поле MAIL FROM:, содержащее адрес отправителя. Адрес может быть произвольным (в том числе с несуществующих доменов).

Поле RCPT TO: — наиболее важное поле для доставки почты, содержит электронный адрес получателя. Большинство почтовых систем в случае возможности проверяет, существует ли пользователь и может отказаться принимать почту, если пользователь, указанный в RCPT TO не существует.

2. Собственно письмо (в терминологии протокола SMTP — 'DATA'), которое, в свою очередь, состоит из следующих частей, разделённых пустой строкой:

Заголовок письма, иногда называемый по аналогии с бумажной почтой конвертом (англ. envelope). В заголовке указывается служебная информация и пометки почтовых серверов, через которые прошло письмо, пометки о приоритете, указание на адрес и имя отправителя и получателя письма, тема письма и другая информация.

Заголовок используется для журналирования прохождения письма и служебных пометок (так называемых кладжей). В заголовке обычно указываются: почтовые серверы, через которые прошло письмо, информацию о том, похоже ли это письмо на спам, информацию о проверке антивирусами, уровень срочности письма. Также в заголовке обычно пишется программа, с помощью которой было создано письмо. Чаще всего почтовые клиенты скрывают заголовки от пользователя при обычном использовании почтовой системой, но предоставляют возможность увидеть заголовки, если возникает потребность в более детальном анализе письма. В случае, если письмо из SMTP формата конвертируется в другой формат (например, в Microsoft Exchange 2007 письма конвертируются из SMTP-формата в MAPI), то заголовки сохраняются отдельно, для возможности диагностики.

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

Поле заголовка

Описание

Subject:

Тема письма.

Date:

Дата написания письма.

From:

Имя и адрес отправителя (именно в этом заголовке появляется текстовое поле с именем отправителя). Может не совпадать с Return-Path и с заголовком SMTP MAIL FROM:

To:

Имя и адрес получателя. Может содержаться несколько раз (если письмо адресовано нескольким получателям). Может не совпадать с полем SMTP RCPT TO.

Sender:

Отправитель письма. Добавлено для возможности указать, что письмо от чьего-то имени (from) отправлено другой персоной (например, секретаршей от имени начальника). Некоторые почтовые клиенты показывают сообщение при наличии sender и from как «сообщение от 'sender' от имени 'from'». Sender является информационным заголовком (и также может отличаться от заголовка SMTP MAIL FROM).

CC:

(от англ. Carbon Copy). Содержит имена и адреса вторичных получателей письма, к которым направляется копия.

BCC:

(от англ. Blind Carbon Copy). Содержит имена и адреса получателей письма, чьи адреса не следует показывать другим получателям. Это поле обычно обрабатывается почтовым сервером и приводит к появлению нескольких разных сообщений. Каждый из получателей не будет видеть в этом поле других получателей из поля bcc.

Return-Path

Обратный адрес. Может отличаться от MAIL FROM

Reply-To:

Имя и адрес, куда следует адресовать ответы на это письмо. Если, например, письмо рассылается ботом, то в качестве Reply-To будет указан адрес лица, готового принять ответ на письмо.

Received

Строка журналирования прохождения письма. Каждый почтовый сервер (MTA) помечает процесс обработки этим сообщением. Если сообщение проходит через несколько почтовых серверов (обычная ситуация), то новые сообщения дописываются над предыдущими (и журнал перемещения читается в обратном порядке, от ближайшего узла к самому дальнему).

Message-ID:

Уникальный идентификатор сообщения. Состоит из адреса узла-отправителя и номера (уникального в пределах узла). Алгоритм генерации уникального номера зависит от сервера/клиента. Выглядит примерно так: AAB77AA2175ADD4BACECE2A49988705C0C93BB7B4A@example.com. Вместе с другими идентификаторами используется для поиска прохождения конкретного сообщения по журналам почтовой системы (почтовые системы фиксируют прохождение письма по его Message-ID) и для указания на письмо из других писем (используется для группировки и построения цепочек писем). Обычно создаётся первым почтовым сервером (MTA) в момент принятия почты от пользователя.

In-Reply-To:

Указывает на Message-ID, для которого это письмо является ответом (с помощью этого почтовые клиенты могут легко выстраивать цепочку переписки — каждый новый ответ содержит Message-ID для предыдущего сообщения).

Content-Type:

Тип содержимого письма. С помощью этого поля указывается тип (HTML, RTF, Plain text) содержимого письма и кодировка, в которой создано письмо.

MIME-Version

Версия MIME, с которым это сообщение создано. Поскольку сообщение создаётся раньше всех остальных событий с письмом, то этот заголовок обычно последний в списке.

Тело письма. В теле письма находится, собственно, текст письма. Тело письма отделяется от заголовка пустой строкой, а заканчивается (согласно стандартам SMTP) строчкой, состоящей из точки и символа перевода строки. Согласно стандарту, в теле письма могут находиться только символы ASCII, то есть используется 7-битная кодировка. Для английского текста это не представляет особой проблемы, однако, большинство неанглоязычных языков используют 8 (и более) битные кодировки. Поэтому при использовании национальных кодировок или различных форм представления информации (HTML, RTF, бинарные файлы) текст письма должен кодироваться по стандарту MIME и не может быть прочитан человеком без использования декодера или почтового клиента с таким декодером.

Почтовые рассылки

Почтовая система позволяет организовать пересылку почты от одного ко многим абонентам.

Почтовая рассылка — это письмо от одного адреса с одинаковым (или меняющимся по шаблону) содержимым, отправляемое подписчикам рассылки. Технически может быть организовано как отправка множества писем (используется при шаблонных письмах) или как отправка письма с множеством получателей (в полях To, CC, BCC). Для управления крупными почтовыми рассылками (более 10-50 абонентов) используются специализированные программы (например, mailman). Правильно организованная почтовая рассылка должна контролировать возврат писем (сообщения о невозможности доставить письмо) с исключением недоступных адресатов из списка рассылки, позволять подписчикам отписываться от рассылок.

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

По некоторым данным, спам в настоящее время составляет 70-90 % от всех почтовых сообщений, то есть превысил объём полезной почтовой нагрузки в 2-10 раз. Для рассылки спама в настоящий момент активно используются все возможные технические ухищрения: открытые релеи, ремейлеры, прокси-серверы, бесплатные серверы электронной почты (допускающие автоматизацию отправки почты), ботнеты, поддельные сообщения о невозможности доставки.

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

Группы переписки — специализированный тип почтовой рассылки, в которой письмо на адрес группы (обычный почтовый адрес, обработкой почты которого занимается специализированная программа) рассылается всем участникам группы. Является аналогом новостных конференций, эхоконференций. Правильно настроенная почтовая рассылка должна контролировать циклы (два робота рассылок, подписанные друг на друга способны создать бесконечный цикл пересылки писем), ограничивать список участников рассылки, имеющих право на помещение сообщения, выполнять прочие требования к почтовой рассылке.

Для управления почтовыми рассылками используются менеджеры почтовых рассылок. Помимо ведения списка адресов и выполнения отсылки заданного сообщения они обеспечивают фильтрацию писем, возможности премодерации писем перед помещением в рассылку, ведение архивов, управление подпиской/отпиской, рассылку дайджестов (краткого содержимого) вместо всего объёма рассылки.

Примеры программ управления рассылками: mailman, Sympa, Majordomo.

§4 WWW

Всеми́рная паути́на (англ. World Wide Web) — распределенная система, предоставляющая доступ к связанным между собой документам, расположенным на различных компьютерах, подключенных к Интернету. Возникла в 1989 году в Европейском центре ядерных исследований CERN в Швейцарии для обеспечения совместной работы больших групп ученых из разных стран.

Всемирную паутину образуют миллионы web-серверов. Большинство ресурсов всемирной паутины представляет собой гипертекст. Гипертекстовые документы, размещаемые во всемирной паутине, называются web-страницами. Несколько web-страниц, объединенных общей темой, дизайном, а также связанных между собой ссылками и обычно находящихся на одном и том же web-сервере, называются web-сайтом. Для загрузки и просмотра web-страниц используются специальные программы — браузеры.

Сторона клиента

Когда пользователь набирает адрес в браузере или щелкает кнопкой мыши по гиперссылке (например, http://www.itu.org/home/index.html), то выполняются следующие действия:

1. Браузер определяет URL (англ. Uniform Resource Locator – унифицированный указатель информационных ресурсов).

2. Браузер запрашивает у службы DNS IP-адрес www.itu.org.

3. DNS дает ответ 156.106.192.32.

4. Браузер устанавливает ТСР-соединение с 80-м портом машины 156.106.192.32.

5. Браузер отправляет запрос на получение файла /home/index.html.

6. Сервер www.itu.org высылает файл /home/index.html.

7. ТСР-соединение разрывается.

8. Браузер отображает весь текст файла /home/index.html.

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

10. Многие браузеры отображают текущее выполняемое ими действие в строке состояния внизу экрана. Это позволяет пользователю понять причину низкой производительности: например, не отвечает служба DNS или сервер или просто сильно перегружена сеть при передаче страницы.

Чтобы все браузеры могли отображать любые страницы, они пишутся на стандартизованном языке HTML, описывающем веб-страницы.

Однако далеко не все страницы написаны исключительно с помощью HTML. Могут использоваться и другие форматы. Вместо того, чтобы наращивать возможности и размеры браузеров, встраивая в них интерпретаторы для различных типов файлов, обычно применяется более общее решение. Когда сервер возвращает в ответ на запрос какую-либо страницу, вместе с ней высылается дополнительная информация - MIME-тип страницы. Страницы типа txt/html и других встроенных типов выводятся браузером напрямую. Если же для данного MIME-типа внутренняя интерпретация невозможна, браузер определяет, как выводить файл по своей таблице MIME-типов, в которой в соответствие каждому типу ставится программа просмотра.

Сторона сервера

Веб-сервер выполняет следующие действия:

  1. Принимает входящее TCP-соединение от клиента (браузера).

  2. Получает имя запрашиваемого файла.

  3. Получает файл с диска.

  4. Возвращает файл клиенту.

  5. Разрывает TCP-соединение.

Проблема данного подхода в необходимости обращения при каждом запросе к диску, поэтому число возможных обращений к серверу ограничено скоростью чтения с диска. Очевидный способ решения – кэширование в памяти N последних запрошенных файлов. Прежде чем обратиться к диску, сервер проверяет кэш и выдает файл клиенту без обращения к диску.

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

URL

Каждой странице во всемирной паутине ставится в соответствие URL (англ. Uniform Resource Locator – унифицированный указатель информационных ресурсов). Он состоит из трех частей: протокола, DNS-имени машины, на которой размещена страница и локального имени файла.

Некоторые распространенные URL-указатели

Имя

Применение

Пример

http

Гипертекст

http://www.cs.vu.nl/~ast

ftp

FTP

ftp://ftp.cs.vu.nl/pub/minix/README

file

Локальный файл

file:////usr/suzanne/prog.c

news

Телеконференция

Статья новостей

news:comp.os.minix

news:AA0134223112@cs.utah.edu

gopher

Gopher

gopher://gopher.tc.umn.edu/11/Libraries

mailto

Отправка электронной почты

mailto:JohnUser@asm.org

telnet

Удаленный терминал

telnet://www.w3.org:80

Cookie-файлы

Первоначально всемирная паутина использовалась в основном для получения документов, предназначенных для широкой публики, но со временем появилась необходимость в регистрации пользователей и создании индивидуальных настроек. Для решения проблемы фирма Netscape предложила метод cookie-файлов.

Когда пользователь запрашивает страницу, сервер может снабдить ответ дополнительной информацией, которая может включать cookiе, то есть маленький (до 4 Кбайт) файл-маркер. Браузеры сохраняют маркеры в специальном каталоге на диске, если пользователь не отключил эту функцию.

В маркерах cookiе может содержаться до пяти полей:

Домен

Путь

Содержимое

Годен до

Защищенный

tom-casino.com

/

CustomerID=497793521

15-10-02 17:00

Да

joes-store.com

/

Cart=1-00501;1-07031;2-13721

11-10-02 14:22

Нет

aportal.com

/

Prefs=Stk;SUNW+ORCL;Spt:Jets

31-12-10 23:59

Нет

sneaky.com

/

UserID=362723910

31-12-12 23:59

Нет

Поле Домен – имя домена, с которого пришел маркер.

Поле Путь – путь на сервере, указывающие на ту часть дерева каталогов, которую может использовать маркер. Часто указывают знак «/», обозначающий, что дерево может использоваться целиком.

Поле Содержимое имеет вид имя=значение. Имя и значения могут быть произвольными, на усмотрение сервера.

Поле Годен до указывает срок годности маркера. Если это поле отсутствует, то браузер отбрасывает cookie сразу после выхода из программы.

Поле Защищенный используется при работе с защищенными серверами (электронная коммерция, банковское дело и др. приложения, в которых важна защита информации).

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

Возможно использование cookie-файлов и не по прямому назначению: распространение с их помощью компьютерных вирусов, хакерские атаки, сбор информации о пользователе – какие сайты наиболее часто посещает, с какой периодичностью и т.д.

Для предотвращения неприятных последствий некоторые пользователи настраивают браузеры так, чтобы они отвергали любые cookie, что может вызывать проблемы при работе с сайтами, где cookie-файлы действительно необходимы. Более гибкое решение – настройка фильтров, которые в зависимости от выбора пользователя или настроек системы безопасности компьютера будут сохранять cookie-файлы с «надежных» сайтов и уничтожать со всех остальных.

Языки и протоколы

HTML (Hyper Text Markup Language) – язык разметки веб-страниц. С помощью HTML можно размещать на веб-страницах текст, графику, а также на другие страницы. Он является языком разметки, то есть языком, описывающим способ форматирования документа. Термин «разметка» (markup) восходит к тем дням, когда технический редактор с помощью специальной разметки указывал фотографу, какой шрифт использовать для печати документа. Таким образом, языки разметки содержат подробные команды форматирования. Преимущество языка разметки перед языком, не имеющим явных команд форматирования, заключается в том, что браузеры для отображения страниц, написанных на этом языке, программируется довольно просто: браузер должен понимать и выполнять содержащиеся в тексте команды разметки.

HTML смешивает содержание и команды форматирование, что может затруднять поиск внутри документов. HTML По этой причине было предложено два расширения языка HTML.

XML (eXtensible Markup Language) – расширяемый язык разметки веб-страниц, описывающий структурированное содержимое страниц.

XLS (eXtensible Style Language) - расширяемый язык стилей, описывающий форматирование независимо от содержимого.

HTML, XML, XLS позволяют создавать только статические страницы, то есть их содержимое остается неизменным. Большим спектром возможностей обладают динамические страницы.

PHP (Hypertext Preprocessor) – гипертекстовый препроцессор, инструмент для написания небольших скриптов, внедряемых в гипертекстовые страницы. Позволяет сделать страницы динамическими.

JSP (JavaServer Pages) – страницы сервера Java. Аналогичен PHP, но скрипты написаны на языке Java.

ASP (Active Server Page) – еще один аналог, скрипты написаны на Visual Basic Script.

Весь набор методов создания динамических страниц иногда называют динамическим HTML - DHTML.

Протокол HTTP (Hyper Text Transfer Protocol) – протокол передачи гипертекста. Он описывает сообщения, которыми могут обмениваться клиенты и серверы. Каждое взаимодействие состоит из одного ASCII-запроса, на который следует один ответ. Обычный способ взаимодействия браузера с сервером – установка TCP-соединения с портом 80 сервера (могут использоваться и другие порты).

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

Встроенные методы HTTP-запросов:

GET

Запрос чтения веб-страницы

HEAD

Запрос чтения заголовка веб-страницы

PUT

Запрос сохранения веб-страницы

POST

Добавить к именованному ресурсу

DELETE

Удалить веб-страницу

TRACE

Отобразить входящий ресурс

CONNECT

Зарезервировать для будущего использования

OPTIONS

Опрос параметров

В ответ на запрос поступает ответ от сервера. Это строка состояния, а также дополнительную информацию.

Группы кодов состояния:

1хх

Информация

100 – сервер согласен обрабатывать запросы

2хх

Успех

200 – запрос успешно обработан, 204 – содержание отсутствует.

3хх

Перенаправление

301 – страница перемещена, 304 – кэшированная страница все еще доступна.

4хх

Ошибка клиента

403 – ошибка доступа, 404 – страница не найдена.

5хх

Ошибка сервера

500 – внутренняя ошибка сервера, 503 – попробуйте еще раз позднее.