Поиск

Статьи » Веб-МастерамЧто стоит за кодами ошибок Web-сервера

Написал: Alex V, 12 ноября 2008 | Мнений 2 | Просмотров: 4303
Рейтинг: 
Что стоит за кодами ошибок Web-сервера

Путешествуя по WWW, пользователи часто встречаются с загадочными сообщениями об ошибках типа 404 Not Found или 500 Server Error и обычно либо злятся на них, либо просто не обращают внимания. И тем не менее откуда берутся эти сообщения и что они означают?

Все мы видели их не раз и не два: Web-страницы с лаконичным текстом, извещающим, что туда, куда нам нужно, мы попасть не можем, и в нескольких словах объясняющим почему. Самая распространенная страница этого типа содержит гигантскую жирную надпись 404 Not Found (404: ресурс не найден), а под ней - чуть ли не извинения: URL '/abcde.html' not found on server (ресурс с URL '/abcde.html' на сервере не найден). Не исключено, что страница "404 Not Found" - самая посещаемая в мире.

Расскажу о следующем случае. В прошлом году в праздник Хэллоуин мы с приятельницей решили нарядиться на маскарад Web-страницами: распечатали увеличенные снимки экранов, наклеили их на большие куски картона и повесили себе на шею. Естественно, экраны должны были быть легко узнаваемы. Я выбрала главную страницу сервера Yahoo!, а приятельница - стандартную "404 Not Found". На мою долю достались жидкие аплодисменты, зато костюм приятельницы стал гвоздем всего вечера.

Эта история иллюстрирует три обстоятельства:

- хотя мы обычно игнорируем подобные страницы, встречи с ними стали будничным делом для тех, кто путешествует по Web;

- мои друзья ценят юмор "для узкого круга";

- они проводят в Web слишком много времени.

Вряд ли я в состоянии как-то прокомментировать второй и третий пункты, но первый прокомментировать могу. Сообщение 404 Not Found представляет собой один из многих кодов ошибок HTTP/1.1. Такие коды, поясняющие, что происходит между сервером и клиентом, создаются сервером и пересылаются на клиентскую машину. Как правило, браузер выводит код на экран в форме стандартной Web-страницы, но может также проигнорировать его или загрузить специальную страницу. Не следует путать код ошибки сервера с клиентским сообщением об ошибке, которое выводится в диалоговом окне.

Все коды состояний определены в разработанных W3C спецификациях HTTP/1.1 на странице 51 и следующих. Определение каждого кода содержит "метод(ы), которым он может следовать, и полный список метаинформации, необходимой для правильной реакции".

Перечислю наиболее распространенные коды ошибок.

204 No Content
Нет содержания. Это означает, что сервер выполнил запрос по протоколу HTTP, но новой информации, которую он мог бы передать клиенту, не существует.

200 OK
Все в порядке. Знаете ли вы о том, что при всяком успешном обращении к Web-странице сервер регистрирует код OK? Вот это он и есть. Код означает, что запрос был успешно обработан, но пользователю соответствующее сообщение никогда не показывают.


400 Bad Request
Некорректный запрос. Запрос HTTP не был понят сервером из-за неправильного синтаксиса. Проверьте, не сделали ли вы где-нибудь опечатку, исправьте запрос и попытайтесь послать его снова.

401 Unauthorized
Нет разрешения. Запрос требует идентификации пользователя в соответствии со стандартом WWW, т. е. вам необходимы правильный идентификатор пользователя и пароль. Увидев это сообщение, проверьте в идентификаторе и пароле правописание и регистр (он существен и там, и там), кроме того, попробуйте печатать чуть медленнее. Если же вы пытаетесь пробраться на закрытую страницу, не будучи на ней зарегистрированным, я могу помочь вам, разве что напомнив, что Bob - очень распространенное имя пользователя, а sex - весьма популярный пароль. Все прочее оставляю на усмотрение читателя.


402 Payment Required
Требуется оплата. Сейчас этот код не применяют, в спецификациях он резервируется на будущее.

403 Forbidden
Доступ запрещен. У меня всегда такое чувство, что при этом коде надо бы выводить на экран картинку с черепом и скрещенными костями. Код означает, что сервер понял запрос, но отказывается его выполнить. Пароль тут ни при чем, повторные обращения также ничего не дадут. Обычно это сообщение используется на серверах, сконфигурированных так, чтобы скрывать от пользователя конкретную причину отказа.


404 Not Found
Ресурс не найден. Код, порождающий самую распространенную, самую узнаваемую страницу на свете. Он означает, что сервер не обнаружил ничего такого, что соответствовало бы запросу. Сервер ведет себя довольно любезно - по крайней мере сообщает, что именно он пытался, но не смог найти; например, текст URL '/microsoft.html' not found on server (ресурс с URL '/microsoft.html' на сервере не найден) подскажет вам, в чем дело, если на самом деле вам нужен файл microscope.html. Самая распространенная причина выдачи этого кода - опечатки, в том числе использование неправильного регистра. Вторая по распространенности причина состоит в том, что страницы, которую вы ищете, на сервере больше нет.

500 Internal Server Error
Внутренняя ошибка сервера. Согласно описанию HTTP/1.1, этот код выдается, когда "сервер столкнулся с неожиданными обстоятельствами, препятствующими выполнению запроса". Иначе говоря, вы ни в чем не виноваты и ничего не можете предпринять - разве что связаться с Web-мастером узла.


503 Service Unavailable
Служба недоступна. Сервер не может в данный момент обработать запрос, поскольку временно перегружен или закрыт на техническое обслуживание. Здесь, как и в предыдущем случае, вина не ваша, а ваши возможности ограничены письмом несчастному Web-мастеру, который, быть может, именно в эту минуту пытается как-то совладать с возникшей проблемой. В общем случае код означает, что Web-сервер и система нуждаются в модернизации, чтобы справляться с таким числом поступающих запросов.
Классы ошибок

Каждый конкретный трехзначный код входит в некоторый класс; его можно определить по первой цифре.

Коды первого класса (1xx) - чисто информационные. В спецификациях HTTP/1.0 не определен ни один код ошибки из этого класса, так что серверы не посылают ответов с кодом 1xx никаким клиентам HTTP/1.0. Коды класса 1xx:


100 Continue (продолжить)

101 Switching Protocols (переключение протоколов)



Коды второго класса (2xx) соответствуют ситуациям, когда HTTP-запрос клиента успешно получен, понят и принят сервером. Это следующие коды:

200 OK


201 Created (объект создан)

202 Accepted (информация принята)


203 Non-Authoritative Information (не заслуживающая доверия информация)

204 No Content (нет содержания)


205 Reset Content (восстановить исходное содержание)

206 Partial Content (частичное содержание)



Класс 3xx составляют сообщения о перенаправлениях; чтобы выполнить запрос HTTP нужны еще какие-то действия пользовательского агента. Коды этого класса:

300 Multiple Choices (несколько вариантов на выбор)


301 Moved Permanently (ресурс перемещен на постоянной основе)

302 Moved Temporarily (ресурс временно перемещен)


303 See Other (смотрите другой ресурс)

304 Not Modified (не изменился)


305 Use Proxy (используйте прокси-сервер)


В классе 4xx больше всего разных кодов. С помощью этих кодов сервер сообщает об ошибке программы-клиента, т. е. о том, что проблема связана не с ним - сервером, а с вами - путешественником по Web. Вот их полный перечень:


400 Bad Request (некорректный запрос)

401 Unauthorized (нет разрешения)


402 Payment Required (требуется оплата)

403 Forbidden (доступ запрещен)


404 Not Found (ресурс не найден)

405 Method Not Allowed (недопустимый метод)


406 Not Acceptable (неприемлемый запрос)

407 Proxy Authentication Required (необходима регистрация на сервере-представителе)


408 Request Timeout (время обработки запроса истекло)

409 Conflict (конфликт)


410 Gone (ресурса больше нет)

411 Length Required (необходимо указать длину)


412 Precondition Failed (не выполнено предварительное условие)

413 Request Entity Too Large (запрашиваемый элемент слишком велик)


414 Request-URI Too Long (идентификатор ресурса в запросе слишком длинный)

415 Unsupported Media Type (неподдерживаемый тип устройства)



Возможно, серверы не раз выдавали вам коды класса 4xx, но результат выводился в другом формате. Попробуйте, например, задать в браузере адрес http://www.yahoo.com/whatever.html.

На экране появится специальная страница, используемая на сервере Yahoo! для извещения о том, что запрошенного документа не существует. Сервер пытается оказать вам посильную помощь, предъявив ближайший существующий аналог заданного ему запроса; в данном случае это просто основная страница самого Yahoo! (http://www.yahoo.com/).

Большинство Web-серверов в очень многих случаях перенаправляют пользователя на специальную страницу. Заготовив набор страниц для типовых ситуаций, можно легко сконфигурировать Web-сервер так, чтобы он в зависимости от кода ошибки давал пользователю те или иные указания.

Коды класса 5xx соответствуют симметричной ситуации - ошибке на сервере - и не имеют никакого отношения к пользователям Web. Однако если вы Web-мастер или отвечаете в своей фирме за подключение к Internet, вы, конечно, должны быть в курсе значений этих кодов и понимать, видят ли их пользователи на экранах своих браузеров. Каждый такой код несет полезную информацию, которая может пригодиться для устранения неисправности:

500 Internal Server Error (внутренняя ошибка сервера)


501 Not Implemented (функция не реализована)

502 Bad Gateway (дефект шлюза)


503 Service Unavailable (служба недоступна)

504 Gateway Timeout (время прохождения через шлюз истекло)


505 HTTP Version Not Supported (неподдерживаемая версия HTTP)

Настройка реакции на ошибку

Как мы видели на примере Yahoo!, можно заставить Web-сервер выдавать более дружелюбные сообщения об ошибках. К сожалению, конкретный способ сделать это для каждого сервера свой. Но при том что детали варьируются, суть остается неизменной. Первым делом вы создаете страницу (или страницы) с информацией, помогающей посетителю вашего узла вновь обрести почву под ногами. Естественное решение состоит в том, что это должен быть URL базовой страницы или поисковой системы узла. Затем необходимо сообщить Web-серверу, в каких случаях такая страница должна использоваться.

В случае серверов Netscape для этого нужно запустить программу администрирования ns-admin, нажать кнопку System Settings (установки системы), выбрать пункт Error Responses (реакция на ошибки), после чего заполнить форму.

Для других Web-серверов необходимую информацию следует искать в их документации.

Новые коды

В большинстве своем люди соглашаются с тем, что коды ошибок, рассматриваемые в статье, обезличены и несколько суховаты. Возможно, следовало бы предложить набор более содержательных и интересных кодов ошибок, объединив их в новый класс 6xx. Вот некоторые идеи:

600 Get a Life

Вернитесь в реальный мир. Послушайте, время - три часа ночи. Пора кончать лазанье по Паутине (или, если вы Web-мастер, копание в сервере) и отправляться на боковую.

601 Inappropriate Material

Неподходящий материал. Содержание страницы сомнительно или подпадает под ограничение "детям до шестнадцати". А вам действительно уже есть шестнадцать? Если нет, немедленно отправляйтесь по адресу http://www.pbs.org/rogers/ (популярная Web-страница для детей и их родителей. - Прим. ред.).

602 Really Bad Web Design

Действительно плохой дизайн. Эта страница отвратительна. Скажите Web-мастеру (или кто у них там пишет на HTML), чтобы прочел практикум по HTML Ричарда Кука в июльском номере NetscapeWorld за 1997 г. (http://www.netscapeworld.com//netscapeworld/nw-07-1997/nw-07-bestpract.html).

603 Random Status Code

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

604 Cat GIF or JPEG Warning

Предупреждение: кошка в формате GIF или JPEG. Эта страница содержит фотографию кошки (кошек) разработчика.

607 Inflated Resume

Раздутое резюме. Легкий уклон в сторону профессиональных достижений вполне объясним, но это уже переходит всякие границы.

608 Unsupported Political Bombast

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

609 Copyright Violation

Нарушение авторского права. Страница содержит материалы, принадлежащие другим и используемые без их согласия.

610 Ponzi Scheme

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

У вас есть еще предложения? Посылайте их мне по адресу mariva.aviram@netscapeworld.com.

Агентство маркетинговых решений mart-agency.ru - агентство Март.
Производство и поставка мебели для ванных комнат atollgroup.ru - группа Атолл.
Детский морской центр имени Вилкова kumvlg.ru в Волгограде.

Советуем обратить внимание на похожие новости

Что такое VPS? Что такое VPS?
VPS – услуга, предоставляющая пользователю виртуальный выделенный сервер. По части управления с помощью операционной системы, VPS практически полностью соответствует физическому серверу. VPS сервер предоставляет владельцу такие услуги, как собственные IP адреса, root-доступы и таблицы маршрутизации. ... Читать

Как заработать с помощью landing page? Как заработать с помощью landing page?
Landing page, целевая страница, посадочная страница – все это названия одностраничного веб-ресурса, который сегодня является лучшим способом увеличить продажи. Он создается для того, чтобы мотивировать пользователей на покупку и другие действия. Вы можете продавать тахограф, медикаменты, туристическ ... Читать

Page Promoter Bar 2.1 Page Promoter Bar 2.1
Page Promoter Bar 2.1 - бесплатный плагин для браузера Page Promoter Bar - это принципиально новый инструмент, который встраивается в Internet Explorer или Mozilla Firefox и позволяет эффективно и без лишних затрат времени получить информацию о том, какие факторы влияют на позиции вашего ... Читать


Комментарии пользователей
Для того чтобы оставить комментарий нужно залогиниться

Автор: Anastasiya89, 1 декабря 2008 00:48
Публикаций: 0, комментариев: 1, Посетители #
Рейтинг
0
многа букаф(
Автор: Alex V, 2 декабря 2008 07:14
Публикаций: 1289, комментариев: 83, Администраторы #
Рейтинг
0
Ну, а что сделать то ;)

Работа и труд, все перетрут!

Добавить комментарий

Ваше Имя:
Ваш E-Mail:
Код:
Включите эту картинку для отображения кода безопасности
обновить, если не виден код
Введите код:

Френдзона


Видео материалы



Как сортировать много email информации?!...
Наверное каждому человеку который работает в сети интернет, приходит достаточно много лишн...

4 модели высокоприбыльного онлайн-бизнеса...
Меня постоянно одолевают вопросами: \"Какую модель онлайн-бизнеса мне стоит выбрать? Может...

Как избавиться от каши в голове / Урок 4...
Видеоурок # 4. Синхронизация Google календаря с программой SunbirdВ четвертом уроке мы с ...

Как избавиться от каши в голове / Урок 3...
Видеоурок # 3. Доступ к календарю с мобильникаВ третьем уроке мы с вами узнаем как можно ...

Как избавиться от каши в голове / Урок 2...
Видеоурок # 2. Работа с Google календаремКак понятно из названия, во втором видео мы с вам...

Как избавиться от каши в голове / Урок 1...
Видеоурок # 1. Простой рецепт \"свежей\" головыВ первом видеоуроке мы с вами познакомимся....

Конкуренция в интернет-бизнесе: достойная...
Видео-подкаст о том, почему волнение о конкуренции это полный идиотизм....

Формула Толстокожести Или Как Себя Вести,...
Успех в интернет-бизнесе имеет побочный эффект. Он может кому-то не понравится… Вы мо...

ВИДЕО: Секреты e-mail маркетинга прямиком...
Факт! Если бы моя мама вела свой интернет-бизнес, в e-mail копирайтинге она бы переплюнула...


Информация

Нам часто пишут и задают один и тот же вопрос, "Работа в сети это реально?" или "С чего начать свой заработок в сети?"... Уважаемые! Для этого и был создан этот сайт, пожалуйста пользуйтесь поиском и читайте заметки и статьи. Советую начать с раздела "Работа в интернете", там находиться больше +250 статей и больше +500 способов заработка в интернете. С какого начать? Где больше денег? Это уже решать Вам! Работайте там - где Вам интересно работать и тогда у Вас все получиться. А если, что-то не понятно комменируйте статьи и мы ответим на ваши вопросы! Удачного начала!


Это интересно


Новое


Опрос

Какой Формат Книг Для Вас Лучше?

Exe формат
Pdf формат
И тот и тот
Оффлайн


Топ комментов

Alex V
Работа и труд, все перетрут!
ICQ: 206983285
комментариев: 83

Mhz-Serge
Жизнь - это хорошо сделанное 3D
ICQ: 318057
комментариев: 29

rombel
Все будет хорошо
ICQ: 393549222
комментариев: 13

Alem

ICQ: 444688221
комментариев: 5

Yury_md

ICQ:
комментариев: 4