5.4.2. HTTP как универсальный протокол прикладного уровня
5.4.2. HTTP как универсальный протокол прикладного уровня
С тех пор как приблизительно в 1993 году World Wide Web достигла критической массы, проектировщики прикладных протоколов демонстрируют усиливающуюся тенденцию к размещению специализированных протоколов над HTTP, используя Web-серверы как общие служебные платформы.
Такая стратегия жизнеспособна, поскольку на уровне транзакций HTTP является весьма простым и общим протоколом. HTTP-запрос представляет собой сообщение в формате, подобном RFC-822/MIME. Как правило, заголовки содержат идентификационную информацию и сведения по аутентификации, а первая строка представляет собой вызов метода на определенном ресурсе, указанном с помощью универсального указателя ресурсов (Universal Resource Indicator — URI). Наиболее важными методами являются GET (доставка ресурса), PUT (модификация ресурса) и POST (отправка данных в форму или серверному процессу). Наиболее важной формой URI является URL, или Uniform Resource Locator (унифицированный указатель ресурса), который идентифицирует ресурс по типу службы, имени узла и расположению ресурса на данному узле. HTTP-ответ является простым RFC-822/MIME-сообщением и может вмещать в себе произвольное содержимое, которое интерпретируется клиентом.
Web-серверы управляют транспортным уровнем и уровнем мультиплексирования запросов HTTP, а также стандартными типами служб, таких как http и ftp. Сравнительно просто писать для Web-серверов дополнительные модули, которые обрабатывают нестандартные типы служб, а также осуществлять диспетчеризацию по другим элементам формата URI.
Кроме того, что данный метод позволяет избежать большого количества низкоуровневых деталей, он также означает, что протокол прикладного уровня образует туннель через стандартный порт HTTP-службы и не нуждается в собственном TCP/IP-порте. Это можно рассматривать как явное преимущество. Большинство брандмауэров оставляют порт 80 открытым, однако попытки пробиться через другие порты могут быть чреваты как техническими трудностями, так и теми, что связаны с политикой.
Данное преимущество сопряжено с некоторым риском. Это означает, что возрастает сложность Web-сервера и его дополнительных модулей, и взлом какого-либо кода может иметь серьезные последствия, связанные с безопасностью. Может усложниться изоляция и отключение проблемных служб. В данном случае целесообразны обычные компромиссы между безопасностью и удобством.
В RFC 3205, "On the Use of HTTP As a Substrate"[55] приведены хорошие рекомендации по проектированию, касающиеся использования протокола HTTP в качестве нижнего уровня для протокола приложения, включая обобщение связанных компромиссов и проблем.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Глава 4 Технологии физического уровня и уровня связи данных
Глава 4 Технологии физического уровня и уровня связи данных 4.1 Введение За последние несколько лет было предложено беспрецедентное количество новых технологий для локальных и региональных сетей, быстро утвердившихся на компьютерном рынке. Произошел огромный скачок от
19.8 Протокол HTTP
19.8 Протокол HTTP Служба WWW реализуется поверх соединений TCP (хотя можно применять и другие транспорты) и разрастается вместе с Интернетом. Работа сервера WWW заключается в следующем:? Клиент соединяется с сервером.? Клиент посылает запрос, например:GET /home.html НТТР./1.0ACCEPT:
QIP: универсальный коммуникатор
QIP: универсальный коммуникатор Парень с девушкой, счастливые, лежат в постели. Девушка: – Вася, а ты помнишь, как мы с тобой познакомились? Парень: – Сейчас, отдышусь и логи в аське посмотрю.Если уж брать за эталон ту самую «бабку Асю», то программа QIP выглядит по сравнению с
Каталог русских WWW-чатов ЦИПДС (http://www.homepage.techno.ru/lot/chats.html или http://cipds.al.ru/wrchats.shtml)
Каталог русских WWW-чатов ЦИПДС (http://www.homepage.techno.ru/lot/chats.html или http://cipds.al.ru/wrchats.shtml) Этот каталог чатов – лишь один из многих, которые можно найти на страницах Рунета. Задайте запрос «каталог чатов» или «русские чаты» любому поисковику – и он с готовностью вывалит в ответ
5.3. Проектирование протоколов прикладного уровня
5.3. Проектирование протоколов прикладного уровня В главе 7 рассматриваются преимущества разбиения сложных приложений на взаимодействующие процессы, которые обмениваются друг с другом данными посредством специфичного для них набора команд или протокола. Преимущества
5.4. Метаформаты протоколов прикладного уровня
5.4. Метаформаты протоколов прикладного уровня Подобно тому, как были усовершенствованы метаформаты файлов данных, чтобы упростить сериализацию для хранения этих данных, метаформаты протоколов прикладного уровня были усовершенствованы, чтобы упростить сериализацию
8.3.5. Язык или протокол прикладного уровня
8.3.5. Язык или протокол прикладного уровня Не менее важно определить, будут ли другие программы интерактивно вызывать ядро мини-языка в качестве подчиненного процесса. Если это так, то конструкция, вероятно, должна меньше походить на диалоговый язык для взаимодействия с
5.3. Проектирование протоколов прикладного уровня
5.3. Проектирование протоколов прикладного уровня В главе 7 рассматриваются преимущества разбиения сложных приложений на взаимодействующие процессы, которые обмениваются друг с другом данными посредством специфичного для них набора команд или протокола. Преимущества
5.4. Метаформаты протоколов прикладного уровня
5.4. Метаформаты протоколов прикладного уровня Подобно тому, как были усовершенствованы метаформаты файлов данных, чтобы упростить сериализацию для хранения этих данных, метаформаты протоколов прикладного уровня были усовершенствованы, чтобы упростить сериализацию
5.4.1. Классический метапротокол прикладного уровня в Internet
5.4.1. Классический метапротокол прикладного уровня в Internet RFC 3117 Маршала Роуза (Marshall Rose), "On the Design of Application Protocols"[54] представляет исключительный обзор вопросов проектирования протоколов прикладного уровня в Internet. В данном документе проясняются несколько черт классических
5.4.2. HTTP как универсальный протокол прикладного уровня
5.4.2. HTTP как универсальный протокол прикладного уровня С тех пор как приблизительно в 1993 году World Wide Web достигла критической массы, проектировщики прикладных протоколов демонстрируют усиливающуюся тенденцию к размещению специализированных протоколов над HTTP, используя
8.3.5. Язык или протокол прикладного уровня
8.3.5. Язык или протокол прикладного уровня Не менее важно определить, будут ли другие программы интерактивно вызывать ядро мини-языка в качестве подчиненного процесса. Если это так, то конструкция, вероятно, должна меньше походить на диалоговый язык для взаимодействия с
Протокол HTTP
Протокол HTTP O В этой главе:O Сеанс работы с HTTP-серверомO Удаленное выполнение программO Модификация и удаление ресурсов на сервереO Механизмы аутентификацииO Интерфейс CGIO История возникновения HTMLБесспорно, HTTP (Hyper Text Transfer Protocol) относится к числу наиболее популярных
Атрибуты уровня компоновочного блока (и уровня модуля)
Атрибуты уровня компоновочного блока (и уровня модуля) Можно также задать применение атрибутов ко всем типам в рамках данного модуля или всех модулей в рамках данного компоновочного блока, если, соответственно, использовать признаки [module:] или [assembly:]. Предположим, что нам
Связь HTTP GET и HTTP POST
Связь HTTP GET и HTTP POST Хотя GET и POST кажутся привычными конструкциями, этот метод пересылки недостаточно гибок для обслуживания таких сложных элементов, как структуры и классы. При использовании SET и POST вы можете взаимодействовать с Web-методами, используя только типы, указанные