Опубликован: 11.08.2008 | Уровень: специалист | Доступ: свободно
Лекция 16:

World Wide Web (WWW) — Всемирная паутина

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

Сообщение запроса содержит строку запроса, заголовок и иногда "тело" ( рис. 16.7.).

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

Рис. 16.7. Сообщение запроса и ответа

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

Линейка запроса определяет тип запроса, ресурс (URL) и версию HTTP. Линейка запроса содержит тип запроса, пробел, URL, пробел и версию HTTP.

  • Тип запроса (Request type). В версии HTTP 1.1 определены несколько типов запросов. Типы запроса разделяются по категориям несколькими методами, которые мы обсудим позднее.
  • Унифицированный локатор информационного ресурса (URL — Uniform Resource Locator). Клиент, который хочет иметь доступ к странице, нуждается в адресе, чтобы осуществить доступ к документам, распределенным по всему миру. HTTP пользуется концепцией локаторов. URL — стандарт для определения любого вида информации в Интернете. URL определяет четыре элемента: метод, хост, компьютер, порт и путь.

Протокол — это программа клиент-сервер, используемая для извлечения и доставки документа. Имеются много таких протоколов: FTP, HTTP, TELNET. Наиболее общий из них HTTP.

Хост – компьютер, где находится информация, хотя имя компьютера может быть псевдонимом. Веб-страницы обычно накапливаются в компьютерах, и компьютеры дают псевдонимы именам, которые обычно начинаются с символов "www". Однако это не обязательно, поскольку хост может быть с любым именем, данным компьютеру, который является хостом веб-страницы.

URL иногда может содержать номер порта сервера. Если порт включен, он должен быть вставлен между хостом и путем и должен быть отделен от хоста двоеточием.

Путь — имя пути к файлу, где находится информация. Заметим, что путь сам может содержать "слеши" (наклонные черточки), которые в операционной системе UNIX отделяют директории от поддиректориев и файлов.

Методы

Поле типа запроса в сообщении запроса определяет несколько видов сообщений, называемых методы. Метод запроса – реальная команда или запрос, с которым клиент выходит к серверу. Мы здесь коротко обсудим цели некоторых методов.

GET

Метод GET используют, когда клиент хочет доставить документ от сервера. Адрес документа определяется в URL; это главный метод для доставки документа. Сервер обычно отвечает содержанием документа в "теле" ответного сообщения, если нет ошибки.

HEAD

Метод HEAD используется, когда клиент хочет получить некоторую информацию о документе, но не сам документ. Он подобен GET, но ответ от сервера не содержит "тело".

POST

Метод POST используется, когда клиент обеспечивает информацией сервер. Например, это может быть нужно для посылки информации ввода к серверу.

PUT

Метод PUT используется клиентом, чтобы обеспечить накопление нового или обновленного документа на сервере. Этот документ включает в "тело" запрос и будет сохранен в месте, определенном URL.

PATCH

PATCH похож на PUT, за исключением того что запрос содержит только список отличий, которые нужно внести в существующий файл.

COPY

Метод COPY используется, чтобы скопировать файл в другое место. Дается место исходного файла в линейке запроса (URL); место пункта назначения дается в заголовке (обсуждается в разделе "Заголовок").

MOVE

Метод MOVE используется для переноса файла в другое место. Место файла источника дается в линейке запроса (URL); место пункта назначения дается в заголовке.

DELETE

Метод DELETE используется для удаления документа из сервера.

LINK

Метод LINK используется для создания ссылки (линка) или ссылок (линков) от одного документа к документу, расположенному в другом месте. Расположение файла дано в линейке запроса (URL); место пункта назначения дано в заголовке.

UNLINK

Метод UNLINK используется для удаления ссылок (линков), созданных методом LINK.

OPTION

Метод OPTION используется клиентом для запроса сервера о доступности опции.

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

Сообщение ответа содержит линейку состояния, заголовок и иногда "тело" (см. рис. 16.7.).

Линейка состояния

Линейка состояния определяет состояние ответного сообщения. Она содержит версию HTTP, пробел, код состояния, пробел, состояние фразы.

  • HTTP-версия. Это поле такое же, как поле линейки запроса.
  • Код состояния (Status code). Поле кода состояния аналогично этим же полям в FTP- и SMTP-протоколах. Оно содержит три цифры. При этом коды в диапазоне 100 — только информационные, коды в диапазоне 200 указывают успешный запрос. Коды в диапазоне 300 переориентируют клиента к другому URL, а коды диапазона 400 указывают на ошибку на стороне клиента. Наконец, коды диапазона 500 указывают на ошибку на стороне сервера. Мы приводим список наиболее общих кодов в таблице 16.2.
  • Фраза состояния. Это поле поясняет код состояния, обмена сообщениями в текстовой форме. Таблица 16.2. приводит такие фразы.
Таблица 16.2. Коды состояния
Код Фраза Описание
Информационные
100 Continue (Продолжение) Начальная часть запроса получена и клиент может продолжать свой запрос
101 Switching (Коммутация) Клиент переключает по запросу клиента протокол, определенный в модернизированном заголовке
Благоприятный исход
200 OK Запрос успешен
201 Created (Создан) Новый URL создан
202 Accept (Принято) Запрос принят, но он непосредственно не выполняется
204 No content (Без содержания) Содержание в "теле" отсутствует
Переадресация
301 Multiple choices (Многократный выбор) Запрос URL с обращением к более чем одному ресурсу
302 Moved permanently (Постоянно перемещаемый) Запрос URL больше не используемым сервером
304 Moved temporary (Временно перемещаемый) Запрос URL временно перемещен
Ошибка клиента
400 Bad request (Плохой запрос) Синтаксическая ошибка в запросе
401 Unauthorized (Неполномочный запрос) Запрос не имеет надлежащих полномочий
403 Forbidden (Запрещенный) Сервис не существует
404 Not found (Не найден) Документ не найден
405 Method not allowed (Метод не разрешен) Метод не поддерживается данным URL
406 Not acceptable (Недоступен) Формат требования не воспринимается
Ошибка сервера
500 Internal server error (Внутренняя ошибка сервера) Есть ошибка, такая как всплеск помех на стороне сервера
501 Not implemented (Неосуществимо) Затребованное действие не может быть выполнено
503 Service unviable (Сервис недоступен) Сервис временно недоступен, но может быть затребован в будущем
Евгений Виноградов
Евгений Виноградов
Экстернат
Илья Сидоркин
Илья Сидоркин
Как получить диплом?
Владислав Журавель
Владислав Журавель
Россия, Ковдор