Этот запрос отличается от предыдущего тем, что в нем используется метод POST, который также загружает данные на сервер. При этом сами данные содержаться в теле HTTP-запроса после пустой строки. — КиберПедия 

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Этот запрос отличается от предыдущего тем, что в нем используется метод POST, который также загружает данные на сервер. При этом сами данные содержаться в теле HTTP-запроса после пустой строки.

2017-11-27 249
Этот запрос отличается от предыдущего тем, что в нем используется метод POST, который также загружает данные на сервер. При этом сами данные содержаться в теле HTTP-запроса после пустой строки. 0.00 из 5.00 0 оценок
Заказать работу

HTTP-ответ генерируется веб-сервером в ответ на поступивший HTTP-запрос. По своей структуре он схож с HTTP-запросом, но имеет определенные отличия. Главное отличие содержится в первой строке. Вместо имени запрашиваемого ресурса и метода запроса в ней указывается статус ответа. Статус указывает на то, насколько успешно выполнился HTTP-запрос. Например, в случае, если документ найден на сервере и может быть выдан клиенту, то статус имеет значение "ОК", которое говорит о том, что запрос выполнился успешно. Однако, могут появляться исключительные ситуации – например, документ отсутствует на сервере или у пользователя отсутствуют права на получение ресурса. Набор всевозможных статусных сообщений HTTP-ответа мы рассмотрим далее в этой лекции. Таким образом, первая строка HTTP-ответа может принимать значение "HTTP/1.1 200 OK". HTTP-заголовки в HTTP-ответе также являются важным элементом. Они характеризуют содержимое, которое передается клиенту. Например, в этих HTTP-заголовках может содержаться информация о типе содержимого (HTML-документ, изображение и т.д.), длине содержимого (размер в байтах), дате модификации, режиме кэширования и др. Все эти заголовки влияют на способ отображения данных на клиенте, а также устанавливают правила хранения данных в клиентском кэше. Типичный вид HTTP-ответа может быть следующим.

В приведенном примере сервер указывает, что ресурс найден, его тип – HTML-документ, а также указывает размер и дату модификации. После пустой строки идет содержимое HTML-документа, т.е. по сути то, что запрашивал клиент. Как и в случае с HTTP-запросом, в HTTP-ответе количество заголовков может изменяться на усмотрение веб-сервера.

При рассмотрении структуры HTTP-запроса было затронуто понятие метода HTTP-запроса. Метод HTTP-запроса определяет каким образом будет обрабатываться указанный HTTP-запрос, т.е. в каком-то смысле определяет его семантику. Поскольку HTTP-запросы могут иметь самый разнообразный смысл, то указание метода является важной частью построения HTTP-запроса. HTTP-запросы могут иметь следующие значения: запрос ресурса от сервера, создание или изменение ресурса на сервере, удаление ресурса на сервере и т.д.

Наиболее распространенными методами HTTP-запроса являются следующие типы методов:

GET позволяет получить информацию от сервера, тело запроса всегда остается пустым;
HEAD аналогичен GET, но тело ответа остается всегда пустым, позволяет проверить доступность запрашиваемого ресурса и прочитать HTTP-заголовки ответа;
POST позволяет загрузить информацию на сервер, по смыслу изменяет ресурс на сервере, но зачастую используется и для создания ресурса на сервере, тело запроса содержит изменяемый/создаваемый ресурс;
PUT аналогичен POST, но по смыслу занимается созданием ресурса, а не его изменением, тело запроса содержит создаваемый ресурс;
DELETE удаляет ресурс с сервера.

Кроме указанных методов HTTP, существует еще большое количество других методов, определенных в спецификации протокола HTTP. Однако, несмотря на это, браузерами зачастую используются только методы GET и POST. Тем не менее, другие прикладные приложения могут использовать HTTP-методы по своему усмотрению.

Как мы увидели ранее, в составе HTTP-ответа содержится статусный код или код возврата. Этот статус показывает состояние HTTP-ответа, которое получено от сервера. Этот механизм является необходимым при функционировании протокола HTTP, поскольку при обработке запроса могут встречаться различные нестандартные ситуации. Все статусные коды являются трехзначными числами. Кроме того, в составе HTTP-ответа может присутствовать текстовое описание состояния. Все статусные коды делятся на пять групп.

Каждая группа статусных кодов идентифицирует ситуацию, в которой оказался запрос. Группа определяется первым разрядом статусного кода. Например, статусные коды группы 2xx говорят об успехе выполнения HTTP-запроса. Наиболее используемые статусные коды приведены в таблице ниже.

Код Описание
1xx   Информационные коды
2xx   Успешное выполнение запроса
    Запрос был обработан успешно
    Объект создан
    Информация принята
    Информация, которая не заслуживает доверия
    Нет содержимого
    Сбросить содержимое
    Частичное содержимое (например, при "докачке" файлов)
3xx   Перенаправление (чтобы выполнить запрос, нужны какие-либо действия)
    Несколько вариантов на выбор
    Ресурс перемещен на постоянной основе
    Ресурс перемещен временно
    Смотрите другой ресурс
    Содержимое не изменилось
    Используйте прокси-сервер
4xx   Проблема связана не с сервером, а с запросом
    Некорректный запрос
    Нет разрешения на просмотр ресурса
    Требуется оплата
    Доступ запрещен
    Ресурс не найден
    Недопустимый метод
    Неприемлемый запрос
    Необходима регистрация на прокси-сервере
    Время обработки запроса истекло
    Конфликт
    Ресурса больше нет
    Необходимо указать длину
    Не выполнено предварительное условие
    Запрашиваемый элемент слишком велик
    Идентификатор ресурса (URI) слишком длинный
    Неподдерживаемый тип ресурса
5xx   Ошибки на сервере
    Внутренняя ошибка сервера
    Функция не реализована
    Дефект шлюза
    Служба недоступна
    Время прохождения через шлюз истекло
    Неподдерживаемая версия HTTP

Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.