Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 309

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 303 304 305 306 307 308 < 309 > 310 311 312 313 314 315 .. 404 >> Следующая


Команда HTTP GET

Наиболее часто встречающимся типом HTTP-запроса является команда get (получить), предназначенная для запроса у сервера некоторого файла с web-стра-ннцей или какого-нибудь другого ресурса. Формат команды get очень прост; эта команда состоит из нменн ресурса, которые требуется получить от сервера, н нз нуля или нескольких строк заголовков. Ниже приводится пример допустимого запроса get:

GET /content/bookliatinga.html НТТР/1,0 From: user8wrox.com User-Agent: Hozilla/4.0

Строка /content/bookiietings.html определяет тот конкретный ресурс, который запрашивается у web-cepeepa. Просмотр папок сервера начинается с корневой папкн, следовательно, поскольку данный запрос посылается на www.wrox.com, он приведет к получению web-страннцы, обладающей следующим значением URL:
660 Глава 23

http://www.wrox.com/content/booklistings.html, Строкл, начинающиеся со слов From и User-Agenl, представляют собой примеры обычных HTTP-заголовков, которые включаются в состав сообщения-запроса.

Команда HTTP POST

Другая распространенная форма сообщения-запроса, которое может быть отправлено web-cepeepy,— это команда post (отправить), post обычно используется при отправке на сервер информации для ее последующей обработки. Эта команда обычно используется для проверки данных HTML-формы, к чему мы еще вернемся ниже в этой главе. Сообщения HTTP post выглядят очень похожими на сообщения HTTP get, хотя наиболее часто запрашиваемый в них ресурс оказывается серверным приложением или активной серверной страницей (активная серверная страница представляет собой особую разновидность web-страницы, которая в динамике генерирует HTML в зависимости от получаемых ею данных). В отличие от сообщения get наличие в этом запросе полезной информации отправляемой серверу, является обязательным. Ниже приводится пример запроса post, отправляемого на web-cepuep:

POST /content/GetBoofcs.asp НТГР/I.O From: UBer9wrox.com User-Agent: Mozilla/4.0 Content-Type: text-plain Content-Length; 33

Здесь располагаются данные, предназначенные для сервера.

Этот запрос отправляется файлу активной серверной страницы (Active Server Page, ASP), расположенному на сервере, обрабатывающему полученные данные и возвращающему клиенту динамически сгенерированную HTML-странииу. В приведенном выше запросе заданы также два дополнительных HTTP-заголовка — Content-Type и Content-Length. Web-cepBep использует эти заголовки при обработке информации, полученной им в команде post. Данные, которые на самом деле были получены Сервером,— ЭТО строка 'Здесь располагаются данные, предназначенные для сервера.

Строка запроса

Другим способом передачи данных серверным приложениям является использование команды get для передачи информации в строке запроса. Это обычный URL-запрос, к которому непосредственно добавлены необходимые данные, что оказывается полезным прн передаче серверу небольших объемов информации в текстовом виде. Данные присоединяются к URL в виде пар имя/значение, причем, для того чтобы отделить адрес от данных, используется вопросительный знак, а пары имя/значение отделяются друг от друга символом &. Ниже приводится пример запроса HTTP get сданными, включенными в него в формате строки запроса:

GET /Books/Book_DetaiIs.asp?isbn=1861QG4982&order=title HTTP/1,0 From: user8wrox.com User-Agent: Mozilla/4.0

Эти данные также направляются в ASP-файл вместе с полями isbn и order, включенными в URL. Использование команды get для отправки данных серверным приложениям оказывается очень простым и легкодоступным, но для него существуют определенные ограничения. Во-первых, так могут передаваться только текстовые данные, и, во-вторых, количество данных в строке запроса может быть очень небольшим. Если необходимо отправить нечто большее, чем просто несколько полей
Основы гуеЬ-прогрсшлшрования

661

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

НТТР-заголовки

Имя заголовка Описание
From Информация, идентифицирующая электронный адрес клиента, которая задается прн определении установок браузера
Use г-Agent Тип н версия программного обеспечения, которая используется клиентом для отправки НТТР-эапроса
Content-Type Тип данных, содержащихся в теле данного НТТР-сообщення
Content-Length Длина данных, содержащихся в теле данного НТТР-сообщення
Date Дата н время формирования данного сообщения

В предшествующих примерах встретилось несколько разновидностей HTTP-заголовков. HTTP-заголовки можно представить себе как обычные заголовки в документах — онн не являются страницей или документом, но в них содержатся жизненно важные метаданные о содержимом документа. С каждой HTTP-командой, посылаемой клиенту или серверу, происходит отправка не только данных, но и последовательности заголовков. Каждый из заголовков обычно представляет собой некоторое поименованное свойство; в нем содержится имя заголовка, а за ним его значение. В таблице слева в качестве примера приводятся некоторые нз НТТР-заголовков.
Предыдущая << 1 .. 303 304 305 306 307 308 < 309 > 310 311 312 313 314 315 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.