Ниже приведен пример типичного ответа, генерируемого 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 …)
Читать далее »
Архив за июля, 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, содержащиеся в документах RFC 1945 и RFC 2616, определяют формат сообщений, предназначенных для обмена между клиентом и сервером. В HTTP существуют два типа сообщений: запросы и ответы.
Постоянные соединения
Непостоянные соединения обладают рядом недостатков. Прежде всего для каждого запрашиваемого объекта должно устанавливаться новое соединение. При этом необходимо учитывать, что каждое соединение требует от протокола TCP выделения буфера, а также ряда служебных переменных как на стороне клиента, так и на стороне сервера. Учитывая то, что многие web-серверы параллельно обслуживают сотни клиентов, подобная схема серьезно затрудняет процесс взаимодействия между клиентами и сервером. Кроме того, установление соединения для каждого объекта из-за времени оборота приводит к дополнительным временным затратам.
Читать далее »
Непостоянное соединение
Рассмотрим, каким образом осуществляется передача 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 поддерживает постоянные и непостоянные соединения
Протокол HTTP поддерживает постоянные и непостоянные соединения (за исключением версии 1.0, которая поддерживает только непостоянные соединения). При непостоянном соединении протокол TCP получает лишь один объект, а при постоянном соединении (используемом по умолчанию в HTTP версии выше 1.0) — все объекты. Разумеется, клиенты и серверы, поддерживающие протокол HTTP 1.1, при желании можно настроить и на непостоянное соединение.
Протокол передачи гипертекста – HTTP
В «сердце» web находится протокол передачи гипертекста (HTTP), являющийся протоколом прикладного уровня. Описание HTTP можно найти в RFC 1945 и RFC 2616. Протокол HTTP реализуется с помощью двух программ: клиента и сервера, которые, находясь на разных оконечных системах, обмениваются HTTP-сообщениями. Порядок обмена и содержание сообщений описаны в протоколе. Перед тем как углубиться в изучение HTTP, сначала освоим терминологию, используемую в контексте web.
Читать далее »
В апреле 1994 года Марк Андрессен…
В апреле 1994 года Марк Андрессен, ученый, ранее возглавлявший разработку браузера Mosaic, и Джим Кларк, бывший профессор Стенфордского университета и основатель компании Silicon Graphics, образовали корпорацию Netscape Communication. В состав корпорации вошли многие ученые, вместе с Андрессеном занимавшиеся созданием браузера Mosaic, и в октябре 1994 года вышла в свет бета-версия продукта Netscape Navigator 1.0. В последующие годы компания приложила множество усилий для развития нового браузера и другихтехнологий: web-серверов, коммерческих серверов, почтовых серверов, серверов новостей, прокси-серверов, программ чтения электронной почты и др. Netscape Communication по праву можно считать одной из самых прогрессивных и успешных Интернет-компаний середины 1990-х, а в августе 1995 года громкий публичный успех пришел к браузеру Netscape.
Читать далее »
Интернет с точки зрения обслуживания
Предыдущий подраздел был посвящен составным частям Интернета. Теперь мы перейдем к описанию Интернета с точки зрения обслуживания.
□ Интернет позволяет распределенным приложениям, работающим на оконечных системах, осуществлять обмен данными друг с другом. В число таких приложений входят удаленный терминал, электронная почта, средства навигации в web, средства передачи аудио- и видеоданных, Интернет-телефония, сетевые компьютерные игры, средства однорангового (Peer-to-Peer, Р2Р) обмена файлами и т. д. Следует подчеркнуть, что web — это не отдельная компьютерная сеть, а одно из множества распределенных приложений, использующих предоставляемые Интернетом службы связи.
□ Интернет предоставляет своим распределенным приложениям два типа служб: надежную службу с установлением логического соединения и ненадежную службу без установления логического соединения. «В первом приближении» эти понятия означают следующее. Надежная служба с установлением логического соединения гарантирует, что передаваемые отправителем данные будут доставлены получателю полностью (то есть без потерь и искажений) и в исходном порядке. Ненадежная служба без установления логического соединения, напротив, не предоставляет никаких гарантий относительно доставки. Как правило, распределенное приложение способно поддерживать один из двух типов передачи.
□ В настоящее время Интернет не дает гарантий относительно того, сколько времени понадобится для передачи данных от отправителя к адресату. И, если не считать возможности повышения пропускной способности канала доступа к вашему Интернет-провайдеру, на сегодняшний день вы не можете потребовать в Интернете более высокого качества обслуживания (например, ограничения на длительность задержки), даже если вы готовы доплатить за это. Такую ситуацию многие (особенно американцы) находят странной.
Второе определение Интернета в терминах служб, или услуг, предоставляемых ими распределенным приложениям, является весьма важным для понимания того, что же такое глобальная Сеть. Возвращаясь к первому из двух определений, нельзя не отметить, что постоянно растущие пользовательские потребности обусловливают стремительный рост числа Интернет-приложений и их бурное развитие, что, в свою очередь, стимулирует развитие структурных компонентов сети. Поэтому необходимо помнить, что Интернет представляет собой динамически изменяющуюся инфраструктуру, в которой двигателем развития служат пользовательские приложения.
Читать далее »
Всемирная паутина изменила взаимодействие между людьми
До 1990-х годов пользователями ресурсов Интернета были исследователи, ученые и студенты, которые подключались к удаленным хостам, обменивались с ними файлами, получали сообщения из групп новостей и пользовались услугами электронной почты. Несмотря на то что Интернет-приложения уже тогда обладали огромной потенциальной пользой, Интернет еще был мало распространен среди широких масс. Ситуация резко изменилась в начале 1990-х годов с появлением Всемирной паутины (World Wide Web, WWW, или web). Без преувеличения можно сказать, что именно Всемирная паутина изменила взаимодействие между людьми, выделила Интернет из множества других компьютерных сетей (Prodigy, America Online, Compuserve, Minitel) и сделала слово «Интернет» синонимом термина «компьютерная сеть».
Читать далее »