Структура ответа (Response).
Стартовая строка ответа сервера имеет следующий формат:
HTTP/Версия КодСостояния Пояснение
Версия- две цифры, разделенных точкой.
КодСостояния- три цифры, значение которых определяет результат выполнения запроса и дальнейшее поведение клиента. Первая цифра кода состояния определяет его класс, группу, к которой принадлежит данный код состояния. В настоящее время выделяют следующие группы:
1xx - информационное сообщение.
2xx- успешно выполненный сервером запрос.
3xx - перенаправление. Сообщает клиенту, что нужно сделать еще один запрос, как правило, по другому URI. Адрес, по которому клиент должен сделать запрос, как правило указывается в заголовке Location:
4xx- были допущены ошибки со стороны клиента.
5xx - возникли ошибки на сервере.
При возникновении ошибок, как правило, тело сообщения содержит гипертекстовую информацию, поясняющую возникшую ошибку.
Пояснение- текстовое короткое пояснение к коду ответа. Ни на что не влияет и не является обязательным. Большая часть библиотек работы с HTTP имеет собственные средства определения "пояснения" по полученному коду, в том числе и локализованного пояснения.
Заголовок ответа может содержать следующие поля:
Имя поля | Описание содержимого |
Server | Имя и номер версии сервера |
Age | Время в секундах, прошедшее с момента создания ресурса |
Allow | Список методов, допустимых для данного ресурса |
Content-Language | Языки, которые должен поддерживать клиент для того, чтобы корректно отобразить передаваемый ресурс |
Content-Type | MIME -тип данных, содержащихся в теле ответа сервера |
Content-Length | Число символов, содержащихся в теле ответа сервера |
Last-Modified | Дата и время последнего изменения ресурса |
Date | Дата и время, определяющие момент генерации ответа |
Expires | Дата и время, определяющие момент, после которого информация, переданная клиенту, считается устаревшей |
Location | В этом поле указывается реальное расположение ресурса. Оно используется для перенаправления запроса |
Cache-Control | Директивы управления кэшированием. Например, no-cache означает, что данные не должны кэшироваться |
Пример ответа HTTP:
HTTP/1.1 200 OK
Date: Wed, 11 Feb 2013 11:20:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5wm1
Last-Modified: Wed, 11 Feb 2013 11:20:59 GMT
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
(пустая строка)
(далее следует запрошенная страница в HTML)
-
Содержание
- Оглавление
- Введение.
- Предмет рассмотрения данного курса.
- Одно-, двух- и многоуровневые приложения.
- Интернет.
- Адрес в интернете
- 2001:0Db8:11a3:09d7:1f34:8a2e:07a0:765d
- Имя в интернете
- Службы (сервисы)
- Сокета.
- Что такое "сокета" (socket) ?
- Создание серверной сокеты (пример на языке c).
- Сериализация
- Основы верстки: таблицы
- Основы верстки: фреймы
- Основы верстки: позиционирование участков сайта
- Протокол http
- Структура запроса (Request).
- Структура ответа (Response).
- Перспективы развития http.
- Интернет-приложения
- Web-приложения
- Web-сервисы
- Особенности проектирования
- Особенности пользовательского интерфейса
- Программирование интернет-приложений
- Объектно-ориентированное программирование
- Классы и объекты
- Жизненный цикл класса
- Статические члены класса
- Инкапсуляция
- Наследование
- Полиморфизм
- Интерфейсы
- Событийно-ориентированное программирование
- Совместная работа над проектом
- Технологии создания web-клиентов
- Dom (Document Object Model)
- Каскадные таблицы стилей
- JavaScript
- Обфускация и динамическое получение скриптов
- Java Applets
- ActiveX/npapi
- Adobe Flash
- Web-серверы
- Nginx (engine X)
- Технологии, применяемые на стороне сервера
- ИнтерфейсCgi
- КонцепцияMvc
- Сервлеты
- JavaScript
- Хранение данных