Компьютерные сети

Многоуровневая архитектура Интернета

‘Прикладной уровень’

Сообщение-ответ

Опубликовано 21 июля, 2008

Ниже приведен пример типичного ответа, генерируемого HTTP-сервером.
НТТР/1.1 200 ОК Connection: close
Date: Thu. 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon. 22 Jun 1998 09:23:24 GMT
Content-Length: 6821
Content-Type: text/html
(data data data data data …)
Читать далее »

Находится в разделе Формат HTTP-сообщения

Сообщение-запрос

Опубликовано 20 июля, 2008

Типичное сообщение-запрос протокола HTTP выглядит следующим образом:

GET /somediг/page.html HTTP/1.1
Host: www.someschool.edu
Connection: close
User-agent: Mozilla/4.0
Accept-language:fr

Это сообщение, несмотря на свою простоту, весьма наглядно демонстрирует формат, используемый в HTTP. Как можно видеть, сообщение представляет собой совокупность вполне понятных человеку текстовых символов в кодировке ASCII. Сообщение состоит из пяти строк, каждая из которых оканчивается парой символов для перехода на новую строку (возврат каретки и перевод строки), а последняя строка — дополнительной парой указанных символов. В общем случае число строк сообщения может быть как больше, так и меньше пяти (вплоть до одной строки).
Читать далее »

Находится в разделе Формат HTTP-сообщения

Два типа сообщений: запросы и ответы

Опубликовано 19 июля, 2008

Описания протокола HTTP, содержащиеся в документах RFC 1945 и RFC 2616, определяют формат сообщений, предназначенных для обмена между клиентом и сервером. В HTTP существуют два типа сообщений: запросы и ответы.

Находится в разделе Формат HTTP-сообщения

Постоянные соединения

Опубликовано 18 июля, 2008

Непостоянные соединения обладают рядом недостатков. Прежде всего для каждого запрашиваемого объекта должно устанавливаться новое соединение. При этом необходимо учитывать, что каждое соединение требует от протокола TCP выделения буфера, а также ряда служебных переменных как на стороне клиента, так и на стороне сервера. Учитывая то, что многие web-серверы параллельно обслуживают сотни клиентов, подобная схема серьезно затрудняет процесс взаимодействия между клиентами и сервером. Кроме того, установление соединения для каждого объекта из-за времени оборота приводит к дополнительным временным затратам.
Читать далее »

Непостоянное соединение

Опубликовано 17 июля, 2008

Рассмотрим, каким образом осуществляется передача web-страницы от сервера к клиенту в случае непостоянного HTTP-соединения. Предположим, что страница состоит из базового HTML-файла и десяти JPEG-изображений, находящихся на одном сервере. Пусть URL базового HTML-файла имеет вид _www.someSchooLedu/someDepartment/home.index. Процесс обмена между клиентом и сервером состоит из следующих шагов.
1. HTTP-клиент инициирует ТСР-соединение с сервером www.someSchool.edu через порт номер 80, который по умолчанию является номером порта для HTTP.
2. HTTP-клиент посылает запрос серверу через сокет, выделенный ТСР-соеди-нению, которое было установлено на шаге 1. Запрос включает путь к базовому HTML-файлу: someDepartment/home.index (чуть позже мы рассмотрим HTTP-сообщения более детально).
3. HTTP-сервер получает запрос через сокет, ассоциированный с установленным соединением, извлекает объект someDepartment/home.index, формирует ответ, включающий объект, и отсылает его клиенту через сокет.
4. HTTP-сервер закрывает ТСР-соединение (окончательный разрыв соединения происходит после того, как сервер получает информацию об успешной передаче объекта).
5. HTTP-клиент принимает ответ сервера. ТСР-соединение завершается. Клиент обрабатывает сообщение, в котором указано, что доставленный объект является базовым HTML-файлом. Клиент извлекает файл, обрабатывает его и выделяет ссылки на 10 объектов (JPEG-файлов).
6. Шаги 1-4 повторяются для каждого из 10 объектов.
Читать далее »

Протокол HTTP поддерживает постоянные и непостоянные соединения (за исключением версии 1.0, которая поддерживает только непостоянные соединения). При непостоянном соединении протокол TCP получает лишь один объект, а при постоянном соединении (используемом по умолчанию в HTTP версии выше 1.0) — все объекты. Разумеется, клиенты и серверы, поддерживающие протокол HTTP 1.1, при желании можно настроить и на непостоянное соединение.

Протокол передачи гипертекста – HTTP

Опубликовано 15 июля, 2008

В «сердце» web находится протокол передачи гипертекста (HTTP), являющийся протоколом прикладного уровня. Описание HTTP можно найти в RFC 1945 и RFC 2616. Протокол HTTP реализуется с помощью двух программ: клиента и сервера, которые, находясь на разных оконечных системах, обмениваются HTTP-сообщениями. Порядок обмена и содержание сообщений описаны в протоколе. Перед тем как углубиться в изучение HTTP, сначала освоим терминологию, используемую в контексте web.
Читать далее »

Находится в разделе Обзор HTTP

В апреле 1994 года Марк Андрессен…

Опубликовано 14 июля, 2008

В апреле 1994 года Марк Андрессен, ученый, ранее возглавлявший разработку браузера Mosaic, и Джим Кларк, бывший профессор Стенфордского университета и основатель компании Silicon Graphics, образовали корпорацию Netscape Communication. В состав корпорации вошли многие ученые, вместе с Андрессеном занимавшиеся созданием браузера Mosaic, и в октябре 1994 года вышла в свет бета-версия продукта Netscape Navigator 1.0. В последующие годы компания приложила множество усилий для развития нового браузера и другихтехнологий: web-серверов, коммерческих серверов, почтовых серверов, серверов новостей, прокси-серверов, программ чтения электронной почты и др. Netscape Communication по праву можно считать одной из самых прогрессивных и успешных Интернет-компаний середины 1990-х, а в августе 1995 года громкий публичный успех пришел к браузеру Netscape.
Читать далее »

Находится в разделе Web и HTTP

До 1990-х годов пользователями ресурсов Интернета были исследователи, ученые и студенты, которые подключались к удаленным хостам, обменивались с ними файлами, получали сообщения из групп новостей и пользовались услугами электронной почты. Несмотря на то что Интернет-приложения уже тогда обладали огромной потенциальной пользой, Интернет еще был мало распространен среди широких масс. Ситуация резко изменилась в начале 1990-х годов с появлением Всемирной паутины (World Wide Web, WWW, или web). Без преувеличения можно сказать, что именно Всемирная паутина изменила взаимодействие между людьми, выделила Интернет из множества других компьютерных сетей (Prodigy, America Online, Compuserve, Minitel) и сделала слово «Интернет» синонимом термина «компьютерная сеть».
Читать далее »

Находится в разделе Web и HTTP

Новые приложения для Интернета

Опубликовано 11 июля, 2008

Новые приложения для Интернета разрабатываются практически каждый день. Вместо того чтобы сводить разговор об Интернет-приложениях к их простому перечислению, мы ограничимся лишь несколькими наиболее важными и популярными приложениями: web-приложениями, приложениями для передачи файлов и электронной почтой, системами доменных имен (Domain Name System, DNS) и одноранговыми системами обмена файлами. Сначала мы рассмотрим web-приложения, поскольку используемый ими протокол HTTP весьма наглядно иллюстрирует основные принципы построения сетевых протоколов. Затем мы изучим протокол передачи файлов, сравним его с HTTP и выделим несколько дополнительных принципов. Далее предметом нашего рассмотрения станет электронная почта. Мы узнаем о том, что современные приложения электронной почты используют не один, а несколько протоколов прикладного уровня. Затем мы познакомимся с системой доменных имен, с помощью которой производится трансляция адресов в Интернете. Большинство пользователей взаимодействует с DNS не напрямую, а через другие приложения, в частности через web-приложения, а также приложения электронной почты и передачи файлов. DNS замечательно иллюстрирует организацию распределенной базы данных в Интернете. Наконец, последним приложением, которое мы рассмотрим, будет являться одноранговая система обмена файлами, часто используемая музыкальными сайтами, хранящими общедоступные коллекции МРЗ-файлов.