Список кодов состояния HTTP

Поделись знанием:
(перенаправлено с «HTTP 303»)
Перейти к: навигация, поиск
HTTP
Постоянное соединение · Сжатие · HTTPS
Методы
OPTIONS · GET · HEAD · POST · PUT · DELETE · TRACE · CONNECT · PATCH
Заголовки
Cookie · ETag · Location · Referer
DNT · X-Forwarded-For
Коды состояния
301 Moved permanently
302 Found
303 See Other
403 Forbidden
404 Not Found
451 Unavailable for Legal Reasons

Код состояния HTTP (англ. HTTP status code) — часть первой строки ответа сервера при запросах по протоколу HTTP. Он представляет собой целое число из трёх десятичных цифр. Первая цифра указывает на класс состояния. За кодом ответа обычно следует отделённая пробелом поясняющая фраза на английском языке, которая разъясняет человеку причину именно такого ответа. Примеры:

  • 201 Webpage Created.
  • 401 Access allowed only for registered users.
  • 507 Insufficient Storage.

Клиент узнаёт по коду ответа о результатах его запроса и определяет, какие действия ему предпринимать дальше. Набор кодов состояния является стандартом, и они описаны в соответствующих документах RFC. Введение новых кодов должно производиться только после согласования с IETF. Тем не менее, известно о двух используемых кодах, не упомянутых в RFC: 449 Retry With. Также упоминается пояснительная фраза «Reply With»[1] в спецификации по WebDAV в Microsoft Developer Network, введённый Microsoft и 509 Bandwidth Limit Exceeded, введённый в cPanel.

Клиент может не знать все коды состояния, но он обязан отреагировать в соответствии с классом кода. В настоящее время выделено пять классов кодов состояния.

Веб-сервер Internet Information Services в своих файлах журналов, кроме стандартных кодов состояния, использует подкоды, записывая их через точку после основного. При этом в ответах от сервера данный подкод не размещается — он нужен администратору сервера, чтобы тот мог более точно определять источники проблем.





Обзорный список

Ниже представлен обзорный список всех описанных в данной статье кодов ответа:

Описание кодов

Информационные

В этот класс выделены коды, информирующие о процессе передачи. При работе через протокол версии 1.0 сообщения с такими кодами должны игнорироваться. В версии 1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но серверу отправлять что-либо не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше от сервера к клиенту.

  • 100 Continue — сервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в HTTP/1.1.
  • 101 Switching Protocols — сервер предлагает перейти на более подходящий для указанного ресурса протокол; список предлагаемых протоколов сервер обязательно указывает в поле заголовка Upgrade. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола. Появился в HTTP/1.1.
  • 102 Processing — запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.

Успех

Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения.

  • 200 OK — успешный запрос. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения. Появился в HTTP/1.0.
  • 201 Created — в результате успешного выполнения запроса был создан новый ресурс. Сервер может указать адреса (их может быть несколько) созданного ресурса в теле ответа, при этом предпочтительный адрес указывается в заголовке Location. Серверу рекомендуется указывать в теле ответа характеристики созданного ресурса и его адреса, формат тела ответа определяется заголовком Content-Type. При обработке запроса, новый ресурс должен быть создан до отправки ответа клиенту, иначе следует использовать ответ с кодом 202. Появился в HTTP/1.0.
  • 202 Accepted — запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. Появился в HTTP/1.0.
  • 203 Non-Authoritative Information — аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. Появился в HTTP/1.1.
  • 204 No Content — сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Появился в HTTP/1.0.
  • 205 Reset Content — сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно. Появился в HTTP/1.1.
  • 206 Partial Content — сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию. Появился в HTTP/1.1. (подробнее...)
  • 207 Multi-Status — сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности. Появился в WebDAV.
  • 226 IM Used — заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.

Перенаправление

Коды этого класса сообщают клиенту, что для успешного выполнения операции необходимо сделать другой запрос, как правило, по другому URI. Из данного класса пять кодов 301, 302, 303, 305 и 307 относятся непосредственно к перенаправлениям. Адрес, по которому клиенту следует произвести запрос, сервер указывает в заголовке Location. При этом допускается использование фрагментов в целевом URI.

По последним стандартам клиент может производить перенаправление без запроса пользователя только если второй ресурс будет запрашиваться методом GET или HEAD[6]. В предыдущих спецификациях говорилось, что для избежания круговых переходов пользователя следует спрашивать после 5-го подряд перенаправления[15]. При всех перенаправлениях, если метод запроса был не HEAD, то в тело ответа следует включить короткое гипертекстовое сообщение с целевым адресом, чтобы в случае ошибки пользователь смог сам произвести переход.

Разработчики HTTP отмечают, что многие клиенты при перенаправлениях с кодами 301 и 302 ошибочно применяют метод GET ко второму ресурсу, несмотря на то, что к первому запрос был с иным методом (чаще всего PUT)[16]. Чтобы избежать недоразумений, в версии HTTP/1.1 были введены коды 303 и 307 и их рекомендовано использовать вместо 302. Изменять метод нужно только если сервер ответил 303. В остальных случаях следующий запрос производить с исходным методом.

Поведение клиентов при различных перенаправлениях описано в таблице:

Статус ответа Кэширование Если метод не GET или HEAD
301 Moved Permanently Можно как обычно. Спросить у пользователя подтверждения и запросить другой ресурс исходным методом.
307 Temporary Redirect Можно только если указан заголовок Cache-Control или Expires.
302 Found (HTTP/1.1)
302 Moved Temporarily (HTTP/1.0)
303 See Other Нельзя. Перейти автоматически, но уже методом GET.
  • 300 Multiple Choices — по указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю. Появился в HTTP/1.0.
  • 301 Moved Permanently — запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. Некоторые клиенты некорректно ведут себя при обработке данного кода. Появился в HTTP/1.0.
  • 302 Found, 302 Moved Temporarily — запрошенный документ временно доступен по другому URI, указанному в заголовке в поле Location. Этот код может быть использован, например, при управляемом сервером согласовании содержимого. Некоторые клиенты некорректно ведут себя при обработке данного кода. Введено в HTTP/1.0.
  • 303 See Other — документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET несмотря даже на то, что первый запрашивался иным методом. Этот код был введён вместе с 307-ым для избежания неоднозначности, чтобы сервер был уверен, что следующий ресурс будет запрошен методом GET. Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методом POST, включая в тело сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает кодом 303, указав в заголовке Location его постоянный адрес. Тогда браузер гарантировано его запросит методом GET для получения содержимого. В противном случае сервер просто вернёт клиенту страницу с результатами поиска. Введено в HTTP/1.1.
  • 304 Not Modified — сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0.
  • 305 Use Proxy — запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в поле Location заголовка. Данный код ответа могут использовать только исходные HTTP-сервера (не прокси). Введено в HTTP/1.1.
  • 306 (зарезервировано) — использовавшийся раньше код ответа, в настоящий момент зарезервирован. Упомянут в RFC 2616 (обновление HTTP/1.1).
  • 307 Temporary Redirect — запрашиваемый ресурс на короткое время доступен по другому URI, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается. Например, POST запрос должен быть отправлен по новому URI тем же методом POST. Этот код был введён вместе с 303 вместо 302-го для избежания неоднозначности. Введено в RFC 2616 (обновление HTTP/1.1).

Ошибка клиента

Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя.

  • 400 Bad Request — сервер обнаружил в запросе клиента синтаксическую ошибку. Появился в HTTP/1.0.
  • 401 Unauthorized — для доступа к запрашиваемому ресурсу требуется аутентификация. В заголовке ответ должен содержать поле WWW-Authenticate с перечнем условий аутентификации. Клиент может повторить запрос, включив в заголовок сообщения поле Authorization с требуемыми для аутентификации данными.
  • 402 Payment Required — предполагается использовать в будущем. В настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний. Имеется в виду, что эта ошибка не будет выдана хостинговым провайдером в случае просроченной оплаты его услуг. Зарезервирован, начиная с HTTP/1.1.

  • 403 Forbidden[17] — сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Если для доступа к ресурсу требуется аутентификация средствами HTTP, то сервер вернёт ответ 401, или 407 при использовании прокси. В противном случае ограничения были заданы администратором сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого программного обеспечения. В любом случае клиенту следует сообщить причины отказа в обработке запроса. Наиболее вероятными причинами ограничения может послужить попытка доступа к системным ресурсам веб-сервера (например, файлам .htaccess или .htpasswd) или к файлам, доступ к которым был закрыт с помощью конфигурационных файлов, требование аутентификации не средствами HTTP, например, для доступа к системе управления содержимым или разделу для зарегистрированных пользователей либо сервер не удовлетворён IP-адресом клиента, например, при блокировках. Появился в HTTP/1.0.
  • 404 Not Found[18] — самая распространённая ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URL. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410. Ответ 404 может использоваться вместо 403, если требуется тщательно скрыть от посторонних глаз определённые ресурсы. Появился в HTTP/1.0.
  • 405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой. Эту ошибку сервер должен возвращать, если метод ему известен, но он не применим именно к указанному в запросе ресурсу, если же указанный метод не применим на всём сервере, то клиенту нужно вернуть код 501 (Not Implemented). Появился в HTTP/1.1.
  • 406 Not Acceptable — запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса. Появился в HTTP/1.1.
  • 407 Proxy Authentication Required — ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере. Появился в HTTP/1.1.
  • 408 Request Timeout — время ожидания сервером передачи от клиента истекло. Клиент может повторить аналогичный предыдущему запрос в любое время. Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом POST или PUT. В какой-то момент передачи источник данных перестал отвечать, например, из-за повреждения компакт-диска или потери связи с другим компьютером в локальной сети. Пока клиент ничего не передаёт, ожидая от него ответа, соединение с сервером держится. Через некоторое время сервер может закрыть соединение со своей стороны, чтобы дать возможность другим клиентам сделать запрос. Этот ответ не возвращается, когда клиент принудительно остановил передачу по команде пользователя или соединение прервалось по каким-то иным причинам, так как ответ уже послать невозможно. Появился в HTTP/1.1.
  • 409 Conflict — запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода PUT.Появился в HTTP/1.1.
  • 410 Gone — такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Серверу в этом случае неизвестно и местоположение альтернативного документа (например копии). Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404. Появился в HTTP/1.1.
  • 411 Length Required — для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI. Такой ответ естественен для запросов типа POST и PUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объём. Тогда разумней будет проверить в самом начале заголовок Content-Length и сразу отказать в загрузке, чем провоцировать бессмысленную нагрузку, разрывая соединение, когда клиент действительно пришлёт слишком объёмное сообщение. Появился в HTTP/1.1.
  • 412 Precondition Failed — возвращается, если ни одно из условных полей заголовка (If-Match и др., см. RFC 7232) запроса не было выполнено. Появился в HTTP/1.1.
  • 413 Request Entity Too Large — возвращается в случае, если сервер отказывается обработать запрос по причине слишком большого размера тела запроса. Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса. Если проблема временная, то рекомендуется в ответ сервера включить заголовок Retry-After с указанием времени, по истечении которого можно повторить аналогичный запрос. Появился в HTTP/1.1.
  • 414 Request-URL Too Long — сервер не может обработать запрос из-за слишком длинного указанного URL. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST. Появился в HTTP/1.1.
  • 415 Unsupported Media Type — по каким-то причинам сервер отказывается работать с указанным типом данных при данном методе. Появился в HTTP/1.1.
  • 416 Requested Range Not Satisfiable — в поле Range заголовка запроса был указан диапазон за пределами ресурса и отсутствует поле If-Range. Если клиент передал байтовый диапазон, то сервер может вернуть реальный размер в поле Content-Range заголовка. Данный ответ не следует использовать при передаче типа multipart/byterangesК:Википедия:Статьи без источников (тип: не указан)[источник не указан 4389 дней]. Введено в RFC 2616 (обновление HTTP/1.1).
  • 417 Expectation Failed — по каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса. Введено в RFC 2616 (обновление HTTP/1.1).
  • 418 I'm a teapot — Этот код был введен в 1998 году как одна из традиционных первоапрельских шуток IETF в RFC 2324, Hyper Text Coffee Pot Control Protocol. Не ожидается, что данный код будет поддерживаться реальными серверами.[19]
  • 422 Unprocessable Entity — сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом. Введено в WebDAV.
  • 423 Locked — целевой ресурс из запроса заблокирован от применения к нему указанного метода. Введено в WebDAV.
  • 424 Failed Dependency — реализация текущего запроса может зависеть от успешности выполнения другой операции. Если она не выполнена и из-за этого нельзя выполнить текущий запрос, то сервер вернёт этот код. Введено в WebDAV.
  • 425 Unordered Collection — используется в расширении WebDAV Advanced Collections Protocol[20]. Посылается, если клиент указал номер элемента в неупорядоченном списке, или запросил несколько элементов в порядке, отличающемся от серверного.
  • 426 Upgrade Required — сервер указывает клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection. Введено в RFC 2817 для возможности перехода к TLS посредством HTTP.
  • 428 Precondition Required — сервер указывает клиенту на необходимость использования в запросе заголовков условий, наподобие If-Match. Введено в черновике стандарта RFC 6585.
  • 429 Too Many Requests — клиент попытался отправить слишком много запросов за короткое время, что может указывать, например, на попытку DDoS-атаки. Может сопровождаться заголовком Retry-After, указывающим, через какое время можно повторить запрос. Введено в черновике стандарта RFC 6585.
  • 431 Request Header Fields Too Large — Превышена допустимая длина заголовков. Сервер не обязан отвечать этим кодом, вместо этого он может просто сбросить соединение. Введено в черновике стандарта RFC 6585.
  • 434 Requested host unavailable - Запрашиваемый адрес недоступенК:Википедия:Статьи без источников (тип: не указан)[источник не указан 3826 дней].
  • 449 Retry With — возвращается сервером, если для обработки запроса от клиента поступило недостаточно информации. При этом в заголовок ответа помещается поле Ms-Echo-Request. Введено корпорацией Microsoft для WebDAV. В настоящий момент как минимум используется программой Microsoft Money.
  • 451 Unavailable For Legal Reasons — доступ к ресурсу закрыт по юридическим причинам, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав. Введено в черновике IETF за авторством Google[11], при этом код ошибки является отсылкой к роману Рэя Брэдбери «451 градус по Фаренгейту». Был добавлен в стандарт 21 декабря 2015.[21]

Ошибка сервера

Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.

  • 500 Internal Server Error[22] — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса. Появился в HTTP/1.0.
  • 501 Not Implemented — сервер не поддерживает возможностей, необходимых для обработки запроса. Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод. Если же метод серверу известен, но он не применим к данному ресурсу, то нужно вернуть ответ 405. Появился в HTTP/1.0.
  • 502 Bad Gateway — сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера. Появился в HTTP/1.0.
  • 503 Service Unavailable — сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Хотя во время перегрузки очевидным кажется сразу разрывать соединение, эффективней может оказаться установка большого значения поля Retry-After для уменьшения частоты избыточных запросов. Появился в HTTP/1.0.
  • 504 Gateway Timeout — сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса. Появился в HTTP/1.1.
  • 505 HTTP Version Not Supported — сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP. Появился в HTTP/1.1.
  • 506 Variant Also Negotiates — в результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается. Экспериментальное. Введено в RFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation.
  • 507 Insufficient Storage — не хватает места для выполнения текущего запроса. Проблема может быть временной. Введено в WebDAV.
  • 509 Bandwidth Limit Exceeded — используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика. В данном случае владельцу площадки следует обратиться к своему хостинг-провайдеру. В настоящий момент данный код не описан ни в одном RFC и используется только модулем «bw/limited», входящим в панель управления хостингом cPanel, где и был введён.
  • 510 Not Extended — на сервере отсутствует расширение, которое желает использовать клиент. Сервер может дополнительно передать информацию о доступных ему расширениях. Введено в RFC 2774 для дополнения протокола HTTP поддержкой расширений.
  • 511 Network Authentication Required — этот ответ посылается не сервером, которому был предназначен запрос, а сервером-посредником — например, сервером провайдера — в случае, если клиент должен сначала авторизоваться в сети, например, ввести пароль для платной точки доступа к Интернету. Предполагается, что в теле ответа будет возвращена Web-форма авторизации или перенаправление на неё. Введено в черновике стандарта RFC 6585.

См. также

Напишите отзыв о статье "Список кодов состояния HTTP"

Примечания

  1. 1 2 [msdn.microsoft.com/en-us/library/dd891478(PROT.10).aspx 2.2.6 449 «Retry With Status Code» // Web Distributed Authoring and Versioning (WebDAV) Protocol: Client Extensions.] на сайте MSDN
  2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 «[tools.ietf.org/html/rfc2068#section-6.1.1 6.1.1 Status Code and Reason Phrase]» в RFC 2068
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [tools.ietf.org/html/rfc2616#section-10.3 RFC 2616]
  4. 1 2 3 [tools.ietf.org/html/draft-ietf-webdav-collection-protocol-04#section-4.2.5 IETF Draft WebDAV Advanced Collections Protocol — S.4.2.5]
  5. [tools.ietf.org/html/draft-ietf-webdav-collection-protocol-04#section-9.13 IETF Draft WebDAV Advanced Collections Protocol — S.10]
  6. 1 2 3 4 5 6 7 8 9 10 [tools.ietf.org/html/rfc2616#section-10.3 RFC 2616 «10.3 Redirection 3xx» (стр. 61)]
  7. [tools.ietf.org/html/draft-ietf-webdav-collection-protocol-04#section-4.3.1 IETF Draft WebDAV Advanced Collections Protocol — S.4.3.1.1]
  8. [tools.ietf.org/html/draft-ietf-webdav-collection-protocol-04#section-5.3.2 IETF Draft WebDAV Advanced Collections Protocol — S.5.3.2]
  9. 1 2 3 4 RFC 6585
  10. [nginx.org/ru/docs/http/ngx_http_rewrite_module.html#return Модуль ngx_http_rewrite_module Директивы].
  11. 1 2 [tools.ietf.org/html/draft-tbray-http-legally-restricted-status-02 IETF Draft A New HTTP Status Code to Report Legal Obstacles]
  12. [tools.ietf.org/html/rfc2295#section-8.1 RFC 2295 Transparent Content Negotiation in HTTP — S.8.1]
  13. [tools.ietf.org/html/draft-ietf-webdav-collection-protocol-04#section-7.1 IETF Draft WebDAV Advanced Collections Protocol — S.7.1]
  14. 1 2 3 4 5 6 7 [support.cloudflare.com/hc/en-us/sections/200820298-Error-Pages Error Pages – CloudFlare Support]
  15. [tools.ietf.org/html/rfc2068#section-10.3 RFC 2068 «10.3 Redirection 3xx» (стр. 56)].
  16. RFC 2616, раздел «10.3.3 302 Found», [tools.ietf.org/html/rfc2616#page-63 страница 63].
  17. [www.pageranker.ru/articles/troubleshooting/167--403-forbidden.html Что означает 403 Forbidden?].
  18. [www.pageranker.ru/articles/troubleshooting/168--404-not-found.html Причины появления ошибки 404 Not Found].
  19. RFC 2324 - Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
  20. [tools.ietf.org/html/draft-ietf-webdav-collection-protocol-04#section-5.3.2 WebDAV Advanced Collections Protocol S.5.3.2]
  21. [datatracker.ietf.org/doc/draft-ietf-httpbis-legally-restricted-status/?include_text=1 draft-ietf-httpbis-legally-restricted-status-04]. datatracker.ietf.org. Проверено 22 декабря 2015.
  22. [www.pageranker.ru/articles/troubleshooting/941-chto-oznachaet-oshibka-500-internal-server-error.html Описание ошибки 500 Internal Server Error].

Ссылки

Основные документы по протоколу HTTP (по убыванию даты публикации):

  • [www.iana.org/assignments/http-status-codes Hypertext Transfer Protocol (HTTP) Status Code Registry] (англ.). IANA (17 октября 2007). — реестр кодов состояния HTTP. Проверено 30 июля 2009. [www.webcitation.org/65WVlNQ6v Архивировано из первоисточника 17 февраля 2012].
  • RFC 2616 Draft standard «[tools.ietf.org/html/rfc2068 Hypertext Transfer Protocol — HTTP/1.1]» (англ.) (русск. «Протокол передачи гипертекста — HTTP/1.1»); IETF, июнь 1999; Fielding Roy (англ.) (UC Irvine (англ.)), Gettys Jim (англ.) (Compaq/W3C), Mogul J. (Compaq), Frystyk Henrik (англ.) (MIT/W3C), Masinter L. (Xerox), Leach P. (Microsoft), Berners-Lee Tim (W3C/MIT)  — обновление протокола HTTP версии 1.1.
  • RFC 2068 Proposed standard «[tools.ietf.org/html/rfc2068 Hypertext Transfer Protocol — HTTP/1.1]» (англ.) (русск. «Протокол передачи гипертекста — HTTP/1.1»); IETF, январь 1997; Fielding Roy (англ.) (UC Irvine (англ.)), Gettys Jim (англ.) (DEC), Mogul J. (DEC), Frystyk Henrik (англ.) (MIT/LCS), Berners-Lee Tim (MIT/LCS) — ранняя спецификация по HTTP версии 1.1.
  • RFC 1945 Informational «[tools.ietf.org/html/rfc1945 Hypertext Transfer Protocol — HTTP/1.0]» (англ.) (русск. «Протокол передачи гипертекста — HTTP/1.0»); IETF, май 1996; Berners-Lee Tim (MIT/LCS), Fielding Roy (англ.) (UC Irvine (англ.)), Frystyk Henrik (англ.) (MIT/LCS) — самая первая спецификация по протоколу HTTP. Так же включает в себя описание HTTP/0.9.

Документы по расширениям и обновлениям протокола HTTP (по убыванию даты публикации):

  • RFC 4918 Proposed Standard «[tools.ietf.org/html/rfc4918 HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)]» (англ.) (русск. «Расширения HTTP для распределённой авторской работы и управления версиями через веб (WEBDAV)»); IETF, июнь 2007; Dusseault Ed. L. (CommerceNet (англ.)) — поздняя спецификация по протоколу WebDAV, заместившая RFC 2518.
  • RFC 3229 Proposed standard «[tools.ietf.org/html/rfc3229 Delta encoding in HTTP]» (англ.) (русск. «Дельта-кодирование в HTTP»); IETF, январь 2002; Mogul J. (Compaq WRL), Krishnamurthy B. (AT&T), Douglis F. (AT&T), Feldmann A. (Univ. of Saarbrücken (англ.)), Goland Y. (Marimba), van Hoff A. (Marimba), Hellerstein D. (ERS/USDA).
  • RFC 2817 Proposed Standard «[tools.ietf.org/html/rfc2817 Upgrading to TLS Within HTTP/1.1]» (англ.) (русск. «Обновление к TLS совместно с HTTP/1.1»); IETF, май 2000; Khare Rohit (англ.) (4K Associates/UC Irvine (англ.)), Lawrence S. (Agranat Systems, Inc.) — обновление к RFC 2616 для описания работы HTTP и TLS.
  • RFC 2774 Experimental «[tools.ietf.org/html/rfc2774 An HTTP Extension Framework]» (англ.) (русск. «Каркас расширений HTTP»); IETF, февраль 2000; Nielsen H. (Microsoft), Leach P. (Microsoft), Lawrence S. (Agranat Systems).
  • Internet Draft «[tools.ietf.org/html/draft-ietf-webdav-collection-protocol-04 WebDAV Advanced Collections Protocol]» (русск. «Протокол продвинутых коллекций WebDAV»); IETF, 18 июня 1999; Slein J. (Xerox), Whitehead Jr. E. J. (UC Irvine (англ.)), Davis J. (CourseNet), Clemm G. (Rational), Fay C. (FileNet (англ.)), Crawford J. (IBM), Chihaya T. (DataChannel)  — управление коллекциями в WebDAV; просрочился 18 декабря 1999 года.
  • RFC 2518 Proposed Standard «[tools.ietf.org/html/rfc2518 HTTP Extensions for Distributed Authoring — WEBDAV]» (англ.) (русск. «Расширения HTTP для распределённой авторской работы — WEBDAV»); IETF, февраль 1999; Goland Y. (Microsoft), Whitehead E. (UC Irvine (англ.)), Faizi A. (Netscape), Carter S. (Novell), Jensen D. (Novell) — первая спецификация по протоколу WebDAV (замещена RFC 4918).
  • RFC 2295 Experimental «[tools.ietf.org/html/rfc2295 Transparent Content Negotiation in HTTP]» (англ.) (русск. «Прозрачное согласование содержимого в HTTP»); IETF, март 1998; Holtman K. (TUE), Mutz A. (Hewlett-Packard).

Дополнительные материалы:

  • [msdn.microsoft.com/en-us/library/cc250046%28PROT.13%29.aspx Web Distributed Authoring and Versioning (WebDAV) Protocol: Client Extensions] (англ.). Microsoft (14 марта 2007). — описание поддержки клиентских расширений в протоколе WebDAV. Проверено 30 июля 2009. [www.webcitation.org/65WVloxS1 Архивировано из первоисточника 17 февраля 2012].
  • RFC 2324 Informational «[tools.ietf.org/html/rfc2774 Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)]» (англ.) (русск. «Гипертекстовый протокол управления кофеваркой (HTCPCP/1.0)»); IETF, 1 апреля 1998; Masinter L..
  • KB 318380 [support.microsoft.com/kb/318380/ Коды состояния служб IIS] (рус.). Microsoft (4 декабря 2007). — список расширенных кодов состояния для протоколов HTTP и FTP. Проверено 16 января 2010. [www.webcitation.org/65WVmPE8h Архивировано из первоисточника 17 февраля 2012].
  • Koford Adam. [www.flickr.com/photos/apelad/sets/72157594388426362/detail/ HTTP errors] (англ.). Flickr (23 ноября 2006). — иллюстрации кодов ошибок с 400 по 417 для облегчения запоминания посредством мнемотехники. Проверено 16 января 2010. [www.webcitation.org/65WVnkGcv Архивировано из первоисточника 17 февраля 2012].


Отрывок, характеризующий Список кодов состояния HTTP

Выйдя в приемную из кабинета Кутузова, князь Андрей с бумагами подошел к товарищу,дежурному адъютанту Козловскому, который с книгой сидел у окна.
– Ну, что, князь? – спросил Козловский.
– Приказано составить записку, почему нейдем вперед.
– А почему?
Князь Андрей пожал плечами.
– Нет известия от Мака? – спросил Козловский.
– Нет.
– Ежели бы правда, что он разбит, так пришло бы известие.
– Вероятно, – сказал князь Андрей и направился к выходной двери; но в то же время навстречу ему, хлопнув дверью, быстро вошел в приемную высокий, очевидно приезжий, австрийский генерал в сюртуке, с повязанною черным платком головой и с орденом Марии Терезии на шее. Князь Андрей остановился.
– Генерал аншеф Кутузов? – быстро проговорил приезжий генерал с резким немецким выговором, оглядываясь на обе стороны и без остановки проходя к двери кабинета.
– Генерал аншеф занят, – сказал Козловский, торопливо подходя к неизвестному генералу и загораживая ему дорогу от двери. – Как прикажете доложить?
Неизвестный генерал презрительно оглянулся сверху вниз на невысокого ростом Козловского, как будто удивляясь, что его могут не знать.
– Генерал аншеф занят, – спокойно повторил Козловский.
Лицо генерала нахмурилось, губы его дернулись и задрожали. Он вынул записную книжку, быстро начертил что то карандашом, вырвал листок, отдал, быстрыми шагами подошел к окну, бросил свое тело на стул и оглянул бывших в комнате, как будто спрашивая: зачем они на него смотрят? Потом генерал поднял голову, вытянул шею, как будто намереваясь что то сказать, но тотчас же, как будто небрежно начиная напевать про себя, произвел странный звук, который тотчас же пресекся. Дверь кабинета отворилась, и на пороге ее показался Кутузов. Генерал с повязанною головой, как будто убегая от опасности, нагнувшись, большими, быстрыми шагами худых ног подошел к Кутузову.
– Vous voyez le malheureux Mack, [Вы видите несчастного Мака.] – проговорил он сорвавшимся голосом.
Лицо Кутузова, стоявшего в дверях кабинета, несколько мгновений оставалось совершенно неподвижно. Потом, как волна, пробежала по его лицу морщина, лоб разгладился; он почтительно наклонил голову, закрыл глаза, молча пропустил мимо себя Мака и сам за собой затворил дверь.
Слух, уже распространенный прежде, о разбитии австрийцев и о сдаче всей армии под Ульмом, оказывался справедливым. Через полчаса уже по разным направлениям были разосланы адъютанты с приказаниями, доказывавшими, что скоро и русские войска, до сих пор бывшие в бездействии, должны будут встретиться с неприятелем.
Князь Андрей был один из тех редких офицеров в штабе, который полагал свой главный интерес в общем ходе военного дела. Увидав Мака и услыхав подробности его погибели, он понял, что половина кампании проиграна, понял всю трудность положения русских войск и живо вообразил себе то, что ожидает армию, и ту роль, которую он должен будет играть в ней.
Невольно он испытывал волнующее радостное чувство при мысли о посрамлении самонадеянной Австрии и о том, что через неделю, может быть, придется ему увидеть и принять участие в столкновении русских с французами, впервые после Суворова.
Но он боялся гения Бонапарта, который мог оказаться сильнее всей храбрости русских войск, и вместе с тем не мог допустить позора для своего героя.
Взволнованный и раздраженный этими мыслями, князь Андрей пошел в свою комнату, чтобы написать отцу, которому он писал каждый день. Он сошелся в коридоре с своим сожителем Несвицким и шутником Жерковым; они, как всегда, чему то смеялись.
– Что ты так мрачен? – спросил Несвицкий, заметив бледное с блестящими глазами лицо князя Андрея.
– Веселиться нечему, – отвечал Болконский.
В то время как князь Андрей сошелся с Несвицким и Жерковым, с другой стороны коридора навстречу им шли Штраух, австрийский генерал, состоявший при штабе Кутузова для наблюдения за продовольствием русской армии, и член гофкригсрата, приехавшие накануне. По широкому коридору было достаточно места, чтобы генералы могли свободно разойтись с тремя офицерами; но Жерков, отталкивая рукой Несвицкого, запыхавшимся голосом проговорил:
– Идут!… идут!… посторонитесь, дорогу! пожалуйста дорогу!
Генералы проходили с видом желания избавиться от утруждающих почестей. На лице шутника Жеркова выразилась вдруг глупая улыбка радости, которой он как будто не мог удержать.
– Ваше превосходительство, – сказал он по немецки, выдвигаясь вперед и обращаясь к австрийскому генералу. – Имею честь поздравить.
Он наклонил голову и неловко, как дети, которые учатся танцовать, стал расшаркиваться то одной, то другой ногой.
Генерал, член гофкригсрата, строго оглянулся на него; не заметив серьезность глупой улыбки, не мог отказать в минутном внимании. Он прищурился, показывая, что слушает.
– Имею честь поздравить, генерал Мак приехал,совсем здоров,только немного тут зашибся, – прибавил он,сияя улыбкой и указывая на свою голову.
Генерал нахмурился, отвернулся и пошел дальше.
– Gott, wie naiv! [Боже мой, как он прост!] – сказал он сердито, отойдя несколько шагов.
Несвицкий с хохотом обнял князя Андрея, но Болконский, еще более побледнев, с злобным выражением в лице, оттолкнул его и обратился к Жеркову. То нервное раздражение, в которое его привели вид Мака, известие об его поражении и мысли о том, что ожидает русскую армию, нашло себе исход в озлоблении на неуместную шутку Жеркова.
– Если вы, милостивый государь, – заговорил он пронзительно с легким дрожанием нижней челюсти, – хотите быть шутом , то я вам в этом не могу воспрепятствовать; но объявляю вам, что если вы осмелитесь другой раз скоморошничать в моем присутствии, то я вас научу, как вести себя.
Несвицкий и Жерков так были удивлены этой выходкой, что молча, раскрыв глаза, смотрели на Болконского.
– Что ж, я поздравил только, – сказал Жерков.
– Я не шучу с вами, извольте молчать! – крикнул Болконский и, взяв за руку Несвицкого, пошел прочь от Жеркова, не находившего, что ответить.
– Ну, что ты, братец, – успокоивая сказал Несвицкий.
– Как что? – заговорил князь Андрей, останавливаясь от волнения. – Да ты пойми, что мы, или офицеры, которые служим своему царю и отечеству и радуемся общему успеху и печалимся об общей неудаче, или мы лакеи, которым дела нет до господского дела. Quarante milles hommes massacres et l'ario mee de nos allies detruite, et vous trouvez la le mot pour rire, – сказал он, как будто этою французскою фразой закрепляя свое мнение. – C'est bien pour un garcon de rien, comme cet individu, dont vous avez fait un ami, mais pas pour vous, pas pour vous. [Сорок тысяч человек погибло и союзная нам армия уничтожена, а вы можете при этом шутить. Это простительно ничтожному мальчишке, как вот этот господин, которого вы сделали себе другом, но не вам, не вам.] Мальчишкам только можно так забавляться, – сказал князь Андрей по русски, выговаривая это слово с французским акцентом, заметив, что Жерков мог еще слышать его.
Он подождал, не ответит ли что корнет. Но корнет повернулся и вышел из коридора.


Гусарский Павлоградский полк стоял в двух милях от Браунау. Эскадрон, в котором юнкером служил Николай Ростов, расположен был в немецкой деревне Зальценек. Эскадронному командиру, ротмистру Денисову, известному всей кавалерийской дивизии под именем Васьки Денисова, была отведена лучшая квартира в деревне. Юнкер Ростов с тех самых пор, как он догнал полк в Польше, жил вместе с эскадронным командиром.
11 октября, в тот самый день, когда в главной квартире всё было поднято на ноги известием о поражении Мака, в штабе эскадрона походная жизнь спокойно шла по старому. Денисов, проигравший всю ночь в карты, еще не приходил домой, когда Ростов, рано утром, верхом, вернулся с фуражировки. Ростов в юнкерском мундире подъехал к крыльцу, толконув лошадь, гибким, молодым жестом скинул ногу, постоял на стремени, как будто не желая расстаться с лошадью, наконец, спрыгнул и крикнул вестового.
– А, Бондаренко, друг сердечный, – проговорил он бросившемуся стремглав к его лошади гусару. – Выводи, дружок, – сказал он с тою братскою, веселою нежностию, с которою обращаются со всеми хорошие молодые люди, когда они счастливы.
– Слушаю, ваше сиятельство, – отвечал хохол, встряхивая весело головой.
– Смотри же, выводи хорошенько!
Другой гусар бросился тоже к лошади, но Бондаренко уже перекинул поводья трензеля. Видно было, что юнкер давал хорошо на водку, и что услужить ему было выгодно. Ростов погладил лошадь по шее, потом по крупу и остановился на крыльце.
«Славно! Такая будет лошадь!» сказал он сам себе и, улыбаясь и придерживая саблю, взбежал на крыльцо, погромыхивая шпорами. Хозяин немец, в фуфайке и колпаке, с вилами, которыми он вычищал навоз, выглянул из коровника. Лицо немца вдруг просветлело, как только он увидал Ростова. Он весело улыбнулся и подмигнул: «Schon, gut Morgen! Schon, gut Morgen!» [Прекрасно, доброго утра!] повторял он, видимо, находя удовольствие в приветствии молодого человека.
– Schon fleissig! [Уже за работой!] – сказал Ростов всё с тою же радостною, братскою улыбкой, какая не сходила с его оживленного лица. – Hoch Oestreicher! Hoch Russen! Kaiser Alexander hoch! [Ура Австрийцы! Ура Русские! Император Александр ура!] – обратился он к немцу, повторяя слова, говоренные часто немцем хозяином.
Немец засмеялся, вышел совсем из двери коровника, сдернул
колпак и, взмахнув им над головой, закричал:
– Und die ganze Welt hoch! [И весь свет ура!]
Ростов сам так же, как немец, взмахнул фуражкой над головой и, смеясь, закричал: «Und Vivat die ganze Welt»! Хотя не было никакой причины к особенной радости ни для немца, вычищавшего свой коровник, ни для Ростова, ездившего со взводом за сеном, оба человека эти с счастливым восторгом и братскою любовью посмотрели друг на друга, потрясли головами в знак взаимной любви и улыбаясь разошлись – немец в коровник, а Ростов в избу, которую занимал с Денисовым.
– Что барин? – спросил он у Лаврушки, известного всему полку плута лакея Денисова.
– С вечера не бывали. Верно, проигрались, – отвечал Лаврушка. – Уж я знаю, коли выиграют, рано придут хвастаться, а коли до утра нет, значит, продулись, – сердитые придут. Кофею прикажете?
– Давай, давай.
Через 10 минут Лаврушка принес кофею. Идут! – сказал он, – теперь беда. – Ростов заглянул в окно и увидал возвращающегося домой Денисова. Денисов был маленький человек с красным лицом, блестящими черными глазами, черными взлохмоченными усами и волосами. На нем был расстегнутый ментик, спущенные в складках широкие чикчиры, и на затылке была надета смятая гусарская шапочка. Он мрачно, опустив голову, приближался к крыльцу.
– Лавг'ушка, – закричал он громко и сердито. – Ну, снимай, болван!
– Да я и так снимаю, – отвечал голос Лаврушки.
– А! ты уж встал, – сказал Денисов, входя в комнату.
– Давно, – сказал Ростов, – я уже за сеном сходил и фрейлен Матильда видел.
– Вот как! А я пг'одулся, бг'ат, вчег'а, как сукин сын! – закричал Денисов, не выговаривая р . – Такого несчастия! Такого несчастия! Как ты уехал, так и пошло. Эй, чаю!
Денисов, сморщившись, как бы улыбаясь и выказывая свои короткие крепкие зубы, начал обеими руками с короткими пальцами лохматить, как пес, взбитые черные, густые волосы.
– Чог'т меня дег'нул пойти к этой кг'ысе (прозвище офицера), – растирая себе обеими руками лоб и лицо, говорил он. – Можешь себе пг'едставить, ни одной каг'ты, ни одной, ни одной каг'ты не дал.
Денисов взял подаваемую ему закуренную трубку, сжал в кулак, и, рассыпая огонь, ударил ею по полу, продолжая кричать.
– Семпель даст, паг'оль бьет; семпель даст, паг'оль бьет.
Он рассыпал огонь, разбил трубку и бросил ее. Денисов помолчал и вдруг своими блестящими черными глазами весело взглянул на Ростова.
– Хоть бы женщины были. А то тут, кг'оме как пить, делать нечего. Хоть бы дг'аться ског'ей.
– Эй, кто там? – обратился он к двери, заслышав остановившиеся шаги толстых сапог с бряцанием шпор и почтительное покашливанье.
– Вахмистр! – сказал Лаврушка.
Денисов сморщился еще больше.
– Сквег'но, – проговорил он, бросая кошелек с несколькими золотыми. – Г`остов, сочти, голубчик, сколько там осталось, да сунь кошелек под подушку, – сказал он и вышел к вахмистру.
Ростов взял деньги и, машинально, откладывая и ровняя кучками старые и новые золотые, стал считать их.
– А! Телянин! Здог'ово! Вздули меня вчег'а! – послышался голос Денисова из другой комнаты.
– У кого? У Быкова, у крысы?… Я знал, – сказал другой тоненький голос, и вслед за тем в комнату вошел поручик Телянин, маленький офицер того же эскадрона.
Ростов кинул под подушку кошелек и пожал протянутую ему маленькую влажную руку. Телянин был перед походом за что то переведен из гвардии. Он держал себя очень хорошо в полку; но его не любили, и в особенности Ростов не мог ни преодолеть, ни скрывать своего беспричинного отвращения к этому офицеру.
– Ну, что, молодой кавалерист, как вам мой Грачик служит? – спросил он. (Грачик была верховая лошадь, подъездок, проданная Теляниным Ростову.)
Поручик никогда не смотрел в глаза человеку, с кем говорил; глаза его постоянно перебегали с одного предмета на другой.
– Я видел, вы нынче проехали…
– Да ничего, конь добрый, – отвечал Ростов, несмотря на то, что лошадь эта, купленная им за 700 рублей, не стоила и половины этой цены. – Припадать стала на левую переднюю… – прибавил он. – Треснуло копыто! Это ничего. Я вас научу, покажу, заклепку какую положить.
– Да, покажите пожалуйста, – сказал Ростов.
– Покажу, покажу, это не секрет. А за лошадь благодарить будете.
– Так я велю привести лошадь, – сказал Ростов, желая избавиться от Телянина, и вышел, чтобы велеть привести лошадь.
В сенях Денисов, с трубкой, скорчившись на пороге, сидел перед вахмистром, который что то докладывал. Увидав Ростова, Денисов сморщился и, указывая через плечо большим пальцем в комнату, в которой сидел Телянин, поморщился и с отвращением тряхнулся.
– Ох, не люблю молодца, – сказал он, не стесняясь присутствием вахмистра.
Ростов пожал плечами, как будто говоря: «И я тоже, да что же делать!» и, распорядившись, вернулся к Телянину.
Телянин сидел всё в той же ленивой позе, в которой его оставил Ростов, потирая маленькие белые руки.
«Бывают же такие противные лица», подумал Ростов, входя в комнату.
– Что же, велели привести лошадь? – сказал Телянин, вставая и небрежно оглядываясь.
– Велел.
– Да пойдемте сами. Я ведь зашел только спросить Денисова о вчерашнем приказе. Получили, Денисов?
– Нет еще. А вы куда?
– Вот хочу молодого человека научить, как ковать лошадь, – сказал Телянин.
Они вышли на крыльцо и в конюшню. Поручик показал, как делать заклепку, и ушел к себе.
Когда Ростов вернулся, на столе стояла бутылка с водкой и лежала колбаса. Денисов сидел перед столом и трещал пером по бумаге. Он мрачно посмотрел в лицо Ростову.
– Ей пишу, – сказал он.
Он облокотился на стол с пером в руке, и, очевидно обрадованный случаю быстрее сказать словом всё, что он хотел написать, высказывал свое письмо Ростову.
– Ты видишь ли, дг'уг, – сказал он. – Мы спим, пока не любим. Мы дети пг`axa… а полюбил – и ты Бог, ты чист, как в пег'вый день создания… Это еще кто? Гони его к чог'ту. Некогда! – крикнул он на Лаврушку, который, нисколько не робея, подошел к нему.
– Да кому ж быть? Сами велели. Вахмистр за деньгами пришел.
Денисов сморщился, хотел что то крикнуть и замолчал.
– Сквег'но дело, – проговорил он про себя. – Сколько там денег в кошельке осталось? – спросил он у Ростова.
– Семь новых и три старых.
– Ах,сквег'но! Ну, что стоишь, чучела, пошли вахмистг'а, – крикнул Денисов на Лаврушку.
– Пожалуйста, Денисов, возьми у меня денег, ведь у меня есть, – сказал Ростов краснея.
– Не люблю у своих занимать, не люблю, – проворчал Денисов.
– А ежели ты у меня не возьмешь деньги по товарищески, ты меня обидишь. Право, у меня есть, – повторял Ростов.
– Да нет же.
И Денисов подошел к кровати, чтобы достать из под подушки кошелек.
– Ты куда положил, Ростов?
– Под нижнюю подушку.
– Да нету.
Денисов скинул обе подушки на пол. Кошелька не было.
– Вот чудо то!
– Постой, ты не уронил ли? – сказал Ростов, по одной поднимая подушки и вытрясая их.
Он скинул и отряхнул одеяло. Кошелька не было.
– Уж не забыл ли я? Нет, я еще подумал, что ты точно клад под голову кладешь, – сказал Ростов. – Я тут положил кошелек. Где он? – обратился он к Лаврушке.
– Я не входил. Где положили, там и должен быть.
– Да нет…
– Вы всё так, бросите куда, да и забудете. В карманах то посмотрите.
– Нет, коли бы я не подумал про клад, – сказал Ростов, – а то я помню, что положил.
Лаврушка перерыл всю постель, заглянул под нее, под стол, перерыл всю комнату и остановился посреди комнаты. Денисов молча следил за движениями Лаврушки и, когда Лаврушка удивленно развел руками, говоря, что нигде нет, он оглянулся на Ростова.
– Г'остов, ты не школьнич…
Ростов почувствовал на себе взгляд Денисова, поднял глаза и в то же мгновение опустил их. Вся кровь его, бывшая запертою где то ниже горла, хлынула ему в лицо и глаза. Он не мог перевести дыхание.
– И в комнате то никого не было, окромя поручика да вас самих. Тут где нибудь, – сказал Лаврушка.
– Ну, ты, чог'това кукла, повог`ачивайся, ищи, – вдруг закричал Денисов, побагровев и с угрожающим жестом бросаясь на лакея. – Чтоб был кошелек, а то запог'ю. Всех запог'ю!
Ростов, обходя взглядом Денисова, стал застегивать куртку, подстегнул саблю и надел фуражку.
– Я тебе говог'ю, чтоб был кошелек, – кричал Денисов, тряся за плечи денщика и толкая его об стену.
– Денисов, оставь его; я знаю кто взял, – сказал Ростов, подходя к двери и не поднимая глаз.
Денисов остановился, подумал и, видимо поняв то, на что намекал Ростов, схватил его за руку.
– Вздог'! – закричал он так, что жилы, как веревки, надулись у него на шее и лбу. – Я тебе говог'ю, ты с ума сошел, я этого не позволю. Кошелек здесь; спущу шкуг`у с этого мег`завца, и будет здесь.
– Я знаю, кто взял, – повторил Ростов дрожащим голосом и пошел к двери.
– А я тебе говог'ю, не смей этого делать, – закричал Денисов, бросаясь к юнкеру, чтоб удержать его.
Но Ростов вырвал свою руку и с такою злобой, как будто Денисов был величайший враг его, прямо и твердо устремил на него глаза.
– Ты понимаешь ли, что говоришь? – сказал он дрожащим голосом, – кроме меня никого не было в комнате. Стало быть, ежели не то, так…
Он не мог договорить и выбежал из комнаты.
– Ах, чог'т с тобой и со всеми, – были последние слова, которые слышал Ростов.
Ростов пришел на квартиру Телянина.
– Барина дома нет, в штаб уехали, – сказал ему денщик Телянина. – Или что случилось? – прибавил денщик, удивляясь на расстроенное лицо юнкера.
– Нет, ничего.
– Немного не застали, – сказал денщик.
Штаб находился в трех верстах от Зальценека. Ростов, не заходя домой, взял лошадь и поехал в штаб. В деревне, занимаемой штабом, был трактир, посещаемый офицерами. Ростов приехал в трактир; у крыльца он увидал лошадь Телянина.
Во второй комнате трактира сидел поручик за блюдом сосисок и бутылкою вина.
– А, и вы заехали, юноша, – сказал он, улыбаясь и высоко поднимая брови.
– Да, – сказал Ростов, как будто выговорить это слово стоило большого труда, и сел за соседний стол.
Оба молчали; в комнате сидели два немца и один русский офицер. Все молчали, и слышались звуки ножей о тарелки и чавканье поручика. Когда Телянин кончил завтрак, он вынул из кармана двойной кошелек, изогнутыми кверху маленькими белыми пальцами раздвинул кольца, достал золотой и, приподняв брови, отдал деньги слуге.
– Пожалуйста, поскорее, – сказал он.
Золотой был новый. Ростов встал и подошел к Телянину.
– Позвольте посмотреть мне кошелек, – сказал он тихим, чуть слышным голосом.
С бегающими глазами, но всё поднятыми бровями Телянин подал кошелек.
– Да, хорошенький кошелек… Да… да… – сказал он и вдруг побледнел. – Посмотрите, юноша, – прибавил он.
Ростов взял в руки кошелек и посмотрел и на него, и на деньги, которые были в нем, и на Телянина. Поручик оглядывался кругом, по своей привычке и, казалось, вдруг стал очень весел.
– Коли будем в Вене, всё там оставлю, а теперь и девать некуда в этих дрянных городишках, – сказал он. – Ну, давайте, юноша, я пойду.
Ростов молчал.
– А вы что ж? тоже позавтракать? Порядочно кормят, – продолжал Телянин. – Давайте же.
Он протянул руку и взялся за кошелек. Ростов выпустил его. Телянин взял кошелек и стал опускать его в карман рейтуз, и брови его небрежно поднялись, а рот слегка раскрылся, как будто он говорил: «да, да, кладу в карман свой кошелек, и это очень просто, и никому до этого дела нет».
– Ну, что, юноша? – сказал он, вздохнув и из под приподнятых бровей взглянув в глаза Ростова. Какой то свет глаз с быстротою электрической искры перебежал из глаз Телянина в глаза Ростова и обратно, обратно и обратно, всё в одно мгновение.
– Подите сюда, – проговорил Ростов, хватая Телянина за руку. Он почти притащил его к окну. – Это деньги Денисова, вы их взяли… – прошептал он ему над ухом.
– Что?… Что?… Как вы смеете? Что?… – проговорил Телянин.
Но эти слова звучали жалобным, отчаянным криком и мольбой о прощении. Как только Ростов услыхал этот звук голоса, с души его свалился огромный камень сомнения. Он почувствовал радость и в то же мгновение ему стало жалко несчастного, стоявшего перед ним человека; но надо было до конца довести начатое дело.
– Здесь люди Бог знает что могут подумать, – бормотал Телянин, схватывая фуражку и направляясь в небольшую пустую комнату, – надо объясниться…
– Я это знаю, и я это докажу, – сказал Ростов.
– Я…
Испуганное, бледное лицо Телянина начало дрожать всеми мускулами; глаза всё так же бегали, но где то внизу, не поднимаясь до лица Ростова, и послышались всхлипыванья.
– Граф!… не губите молодого человека… вот эти несчастные деньги, возьмите их… – Он бросил их на стол. – У меня отец старик, мать!…
Ростов взял деньги, избегая взгляда Телянина, и, не говоря ни слова, пошел из комнаты. Но у двери он остановился и вернулся назад. – Боже мой, – сказал он со слезами на глазах, – как вы могли это сделать?
– Граф, – сказал Телянин, приближаясь к юнкеру.
– Не трогайте меня, – проговорил Ростов, отстраняясь. – Ежели вам нужда, возьмите эти деньги. – Он швырнул ему кошелек и выбежал из трактира.


Вечером того же дня на квартире Денисова шел оживленный разговор офицеров эскадрона.
– А я говорю вам, Ростов, что вам надо извиниться перед полковым командиром, – говорил, обращаясь к пунцово красному, взволнованному Ростову, высокий штаб ротмистр, с седеющими волосами, огромными усами и крупными чертами морщинистого лица.
Штаб ротмистр Кирстен был два раза разжалован в солдаты зa дела чести и два раза выслуживался.
– Я никому не позволю себе говорить, что я лгу! – вскрикнул Ростов. – Он сказал мне, что я лгу, а я сказал ему, что он лжет. Так с тем и останется. На дежурство может меня назначать хоть каждый день и под арест сажать, а извиняться меня никто не заставит, потому что ежели он, как полковой командир, считает недостойным себя дать мне удовлетворение, так…
– Да вы постойте, батюшка; вы послушайте меня, – перебил штаб ротмистр своим басистым голосом, спокойно разглаживая свои длинные усы. – Вы при других офицерах говорите полковому командиру, что офицер украл…
– Я не виноват, что разговор зашел при других офицерах. Может быть, не надо было говорить при них, да я не дипломат. Я затем в гусары и пошел, думал, что здесь не нужно тонкостей, а он мне говорит, что я лгу… так пусть даст мне удовлетворение…
– Это всё хорошо, никто не думает, что вы трус, да не в том дело. Спросите у Денисова, похоже это на что нибудь, чтобы юнкер требовал удовлетворения у полкового командира?
Денисов, закусив ус, с мрачным видом слушал разговор, видимо не желая вступаться в него. На вопрос штаб ротмистра он отрицательно покачал головой.
– Вы при офицерах говорите полковому командиру про эту пакость, – продолжал штаб ротмистр. – Богданыч (Богданычем называли полкового командира) вас осадил.
– Не осадил, а сказал, что я неправду говорю.
– Ну да, и вы наговорили ему глупостей, и надо извиниться.
– Ни за что! – крикнул Ростов.
– Не думал я этого от вас, – серьезно и строго сказал штаб ротмистр. – Вы не хотите извиниться, а вы, батюшка, не только перед ним, а перед всем полком, перед всеми нами, вы кругом виноваты. А вот как: кабы вы подумали да посоветовались, как обойтись с этим делом, а то вы прямо, да при офицерах, и бухнули. Что теперь делать полковому командиру? Надо отдать под суд офицера и замарать весь полк? Из за одного негодяя весь полк осрамить? Так, что ли, по вашему? А по нашему, не так. И Богданыч молодец, он вам сказал, что вы неправду говорите. Неприятно, да что делать, батюшка, сами наскочили. А теперь, как дело хотят замять, так вы из за фанаберии какой то не хотите извиниться, а хотите всё рассказать. Вам обидно, что вы подежурите, да что вам извиниться перед старым и честным офицером! Какой бы там ни был Богданыч, а всё честный и храбрый, старый полковник, так вам обидно; а замарать полк вам ничего? – Голос штаб ротмистра начинал дрожать. – Вы, батюшка, в полку без году неделя; нынче здесь, завтра перешли куда в адъютантики; вам наплевать, что говорить будут: «между павлоградскими офицерами воры!» А нам не всё равно. Так, что ли, Денисов? Не всё равно?
Денисов всё молчал и не шевелился, изредка взглядывая своими блестящими, черными глазами на Ростова.
– Вам своя фанаберия дорога, извиниться не хочется, – продолжал штаб ротмистр, – а нам, старикам, как мы выросли, да и умереть, Бог даст, приведется в полку, так нам честь полка дорога, и Богданыч это знает. Ох, как дорога, батюшка! А это нехорошо, нехорошо! Там обижайтесь или нет, а я всегда правду матку скажу. Нехорошо!
И штаб ротмистр встал и отвернулся от Ростова.
– Пг'авда, чог'т возьми! – закричал, вскакивая, Денисов. – Ну, Г'остов! Ну!
Ростов, краснея и бледнея, смотрел то на одного, то на другого офицера.
– Нет, господа, нет… вы не думайте… я очень понимаю, вы напрасно обо мне думаете так… я… для меня… я за честь полка.да что? это на деле я покажу, и для меня честь знамени…ну, всё равно, правда, я виноват!.. – Слезы стояли у него в глазах. – Я виноват, кругом виноват!… Ну, что вам еще?…
– Вот это так, граф, – поворачиваясь, крикнул штаб ротмистр, ударяя его большою рукою по плечу.
– Я тебе говог'ю, – закричал Денисов, – он малый славный.
– Так то лучше, граф, – повторил штаб ротмистр, как будто за его признание начиная величать его титулом. – Подите и извинитесь, ваше сиятельство, да с.
– Господа, всё сделаю, никто от меня слова не услышит, – умоляющим голосом проговорил Ростов, – но извиняться не могу, ей Богу, не могу, как хотите! Как я буду извиняться, точно маленький, прощенья просить?
Денисов засмеялся.
– Вам же хуже. Богданыч злопамятен, поплатитесь за упрямство, – сказал Кирстен.
– Ей Богу, не упрямство! Я не могу вам описать, какое чувство, не могу…
– Ну, ваша воля, – сказал штаб ротмистр. – Что ж, мерзавец то этот куда делся? – спросил он у Денисова.
– Сказался больным, завтг'а велено пг'иказом исключить, – проговорил Денисов.
– Это болезнь, иначе нельзя объяснить, – сказал штаб ротмистр.
– Уж там болезнь не болезнь, а не попадайся он мне на глаза – убью! – кровожадно прокричал Денисов.
В комнату вошел Жерков.
– Ты как? – обратились вдруг офицеры к вошедшему.
– Поход, господа. Мак в плен сдался и с армией, совсем.
– Врешь!
– Сам видел.
– Как? Мака живого видел? с руками, с ногами?
– Поход! Поход! Дать ему бутылку за такую новость. Ты как же сюда попал?
– Опять в полк выслали, за чорта, за Мака. Австрийской генерал пожаловался. Я его поздравил с приездом Мака…Ты что, Ростов, точно из бани?
– Тут, брат, у нас, такая каша второй день.
Вошел полковой адъютант и подтвердил известие, привезенное Жерковым. На завтра велено было выступать.
– Поход, господа!
– Ну, и слава Богу, засиделись.


Кутузов отступил к Вене, уничтожая за собой мосты на реках Инне (в Браунау) и Трауне (в Линце). 23 го октября .русские войска переходили реку Энс. Русские обозы, артиллерия и колонны войск в середине дня тянулись через город Энс, по сю и по ту сторону моста.
День был теплый, осенний и дождливый. Пространная перспектива, раскрывавшаяся с возвышения, где стояли русские батареи, защищавшие мост, то вдруг затягивалась кисейным занавесом косого дождя, то вдруг расширялась, и при свете солнца далеко и ясно становились видны предметы, точно покрытые лаком. Виднелся городок под ногами с своими белыми домами и красными крышами, собором и мостом, по обеим сторонам которого, толпясь, лилися массы русских войск. Виднелись на повороте Дуная суда, и остров, и замок с парком, окруженный водами впадения Энса в Дунай, виднелся левый скалистый и покрытый сосновым лесом берег Дуная с таинственною далью зеленых вершин и голубеющими ущельями. Виднелись башни монастыря, выдававшегося из за соснового, казавшегося нетронутым, дикого леса; далеко впереди на горе, по ту сторону Энса, виднелись разъезды неприятеля.
Между орудиями, на высоте, стояли спереди начальник ариергарда генерал с свитским офицером, рассматривая в трубу местность. Несколько позади сидел на хоботе орудия Несвицкий, посланный от главнокомандующего к ариергарду.
Казак, сопутствовавший Несвицкому, подал сумочку и фляжку, и Несвицкий угощал офицеров пирожками и настоящим доппелькюмелем. Офицеры радостно окружали его, кто на коленах, кто сидя по турецки на мокрой траве.
– Да, не дурак был этот австрийский князь, что тут замок выстроил. Славное место. Что же вы не едите, господа? – говорил Несвицкий.
– Покорно благодарю, князь, – отвечал один из офицеров, с удовольствием разговаривая с таким важным штабным чиновником. – Прекрасное место. Мы мимо самого парка проходили, двух оленей видели, и дом какой чудесный!
– Посмотрите, князь, – сказал другой, которому очень хотелось взять еще пирожок, но совестно было, и который поэтому притворялся, что он оглядывает местность, – посмотрите ка, уж забрались туда наши пехотные. Вон там, на лужку, за деревней, трое тащут что то. .Они проберут этот дворец, – сказал он с видимым одобрением.
– И то, и то, – сказал Несвицкий. – Нет, а чего бы я желал, – прибавил он, прожевывая пирожок в своем красивом влажном рте, – так это вон туда забраться.
Он указывал на монастырь с башнями, видневшийся на горе. Он улыбнулся, глаза его сузились и засветились.
– А ведь хорошо бы, господа!
Офицеры засмеялись.
– Хоть бы попугать этих монашенок. Итальянки, говорят, есть молоденькие. Право, пять лет жизни отдал бы!
– Им ведь и скучно, – смеясь, сказал офицер, который был посмелее.
Между тем свитский офицер, стоявший впереди, указывал что то генералу; генерал смотрел в зрительную трубку.
– Ну, так и есть, так и есть, – сердито сказал генерал, опуская трубку от глаз и пожимая плечами, – так и есть, станут бить по переправе. И что они там мешкают?
На той стороне простым глазом виден был неприятель и его батарея, из которой показался молочно белый дымок. Вслед за дымком раздался дальний выстрел, и видно было, как наши войска заспешили на переправе.
Несвицкий, отдуваясь, поднялся и, улыбаясь, подошел к генералу.
– Не угодно ли закусить вашему превосходительству? – сказал он.
– Нехорошо дело, – сказал генерал, не отвечая ему, – замешкались наши.
– Не съездить ли, ваше превосходительство? – сказал Несвицкий.
– Да, съездите, пожалуйста, – сказал генерал, повторяя то, что уже раз подробно было приказано, – и скажите гусарам, чтобы они последние перешли и зажгли мост, как я приказывал, да чтобы горючие материалы на мосту еще осмотреть.
– Очень хорошо, – отвечал Несвицкий.
Он кликнул казака с лошадью, велел убрать сумочку и фляжку и легко перекинул свое тяжелое тело на седло.
– Право, заеду к монашенкам, – сказал он офицерам, с улыбкою глядевшим на него, и поехал по вьющейся тропинке под гору.
– Нут ка, куда донесет, капитан, хватите ка! – сказал генерал, обращаясь к артиллеристу. – Позабавьтесь от скуки.
– Прислуга к орудиям! – скомандовал офицер.
И через минуту весело выбежали от костров артиллеристы и зарядили.
– Первое! – послышалась команда.
Бойко отскочил 1 й номер. Металлически, оглушая, зазвенело орудие, и через головы всех наших под горой, свистя, пролетела граната и, далеко не долетев до неприятеля, дымком показала место своего падения и лопнула.
Лица солдат и офицеров повеселели при этом звуке; все поднялись и занялись наблюдениями над видными, как на ладони, движениями внизу наших войск и впереди – движениями приближавшегося неприятеля. Солнце в ту же минуту совсем вышло из за туч, и этот красивый звук одинокого выстрела и блеск яркого солнца слились в одно бодрое и веселое впечатление.