HyperText Transfer Protocol (HTTP)
HTTP - это новый Internet протокол, который спроектирован специально для быстрого манипулирования с гипертекстовыми документами. Подобно другим Internet инструментариям, таким как FTP, WAIS и Gopher, HTTP - это клиент-сервер протокол. В модели клиент-сервер программа клиент, которая исполняется на компьютере пользователя, посылает запрос к программе сервера, которая исполняется на другом компьютере в сети Internet. Ответ на запрос сервер отсылает снова клиенту. В поцессе обмена этими сообщениями, клиент и сервер используют протокол (совокупность правил, согласно которым компьютеры взаимодействуют между собой). FTP, WAIS и Gopher - другие примеры протоколов клиент-сервер сети Internet, каждый из которых также доступен через WWW броузер. Однако HTTP был сконструирован специально для работы с гипертекстовыми документами.
На самом простом уровне HTTP серверы действуют подобно анонимным FTP серверам, поставляя файлы по запросам клиентов. Однако HTTP cервера поддерживают еще ряд важных дополнительных функций:
- возможность отсылать клиенту не только файлы, но также и дополнительную информацию, которая генеруется программами, которые исполняются на сервере;
- возможность брать данные, посланные клиентом и передать эту информацию другим программам, которые находятся на сервере, для дальнейшей обработки.
Специальные программы, которые находятся на сервере и исполняют эти функции, называются программами gateway (шлюз), поскольку они действительно действуют как шлюз между HTTP сервером и другими локальными ресурсами, такими как, например, базы данных. В точности так, как FTP сервер предоставляет возможность доступа к огромному количеству файлов, так и HTTP сервер предоставляет возможность доступа к огромному количеству программ: в этих двух случаях Вы определяете путем задания URL, какие (файловые или программные) ресурсы Вы б хотели получить.
Взаимодействие между сервером и этими gateway программами регулируется спецификациями Common Gateway Interface (CGI). Используя CGI cпецификации, программист может легко писать простые программы или скрипты на обработку запросов пользователя и тому подобное.
В настоящее время используется версия 1.1 протокола HTTP. Ее поддерживают все основные броузеры и WEB-серверы. Протокол HTTP 1.1 описан в RFC-2068 и превосходит предыдущую версию HTTP 1.0 – прежде всего, по производительности. Однако, есть и другие отличия, описанные ниже
* Постоянные соединения. Протокол HTTP 1.1 устанавливает меньше TCP-соединений, чем HTTP 1.0. Версия 1.0 устанавливает и разрывает TCP-соединение для каждого HTML-запроса, а HTTP 1.1 создает TCP-соединение, сохраняющееся на протяжении многих запросов.
* Протокол HTTP 1.1 поддерживает сжатие данных. Это означает, что файлы между клиентом и сервером могут передаваться сжатыми, что снижает нагрузку на сеть.
* Протокол HTTP 1.1 поддерживает многие языки сетевого программирования.
* Создание виртуальных хостов. Протокол HTTP 1.1 позволяет одному WEB-серверу иметь несколько доменных имен. В настоящее время эта ситуация распространена широко (например, когда поставщик услуг InterNet’а поддерживает несколько доменов).
Консорциум W3С работает над протоколом HTTP-NG (Next Generation), который, как предполагается, заменит HTTP. К HTTP-NG предъявляются следующие требования:
* Простота – протокол HTTP-NG должен быть прост для реализации и обслуживания.
* Расширяемость – на случай ситуации, не предусмотренной в процессе разработки.
* Масштабируемость – вне зависимости от того, используется ли HTTP-NG в маленькой локальной сети или в сети InterNet.
* Эффективность – ожидается, что протокол HTTP-NG будет намного эффективнее HTTP. Последний плохо работает в сетях с большим временем задержки. Причина в том, что HTTP – протокол одиночных запросов и ответов. Кроме того, он перегружен информацией. Протокол HTTP-NG призван устранить эти и другие недостатки.
В последнее десятилетие наметилась тенденция разработки формальных методов описания протоколов, значительно упрощающих разработку и тестирования новых протоколов передачи данных (см. подраздел 3.2), требования обеспечения конфиденциальности передаваемой по сетям информации инициировали разработку новых протоколов обеспечения секретности данных.
Лекция
Дата добавления: 2015-09-14; просмотров: 835;