Ошибка 404 и обработка других HTTP-кодов. @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 2 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
theUg Муж.
новый человек
0
Сообщения: 83
Зарегистрирован: 25.02.02
Откуда: got lost...
Заголовок сообщения: Ошибка 404 и обработка других HTTP-кодов.
Сообщение Добавлено: 9 Ноябрь 2002, 04:20:00 
Возникло у меня пара вопросов на тему обработки ответов сервера на запросы клиента.

Часть первая. Идеологическая.

Вопрос, собственно, очень простой. Кто какие ошибки обрабатывает и какие ошибки в природе встречаются. Спецефикации кодов статуса HTTP 1.1 выдают кучу разных кодов, из которых группы 1** и 2** нам не интересны (хотя было бы забавно встретить сайт, который при загрузке каждой страницы радостно сообщал нас, что соединение с сервером произошло успшно [img]images/smiles/icon_smile.gif[/img]), а в остальных группах у нас появляется селективный интерес. Самые очевидные коды (которые обрабатываются при помощи моих страниц) -- это, разумеется, 403, 404 и 500. На моей практике я могу по пальцам пересчитать, когда я встречал ошибку, попадающую в классификацию под один из других значений. Пройдёмся по группам и интересующим меня кодам:

Группа 3** (Редирект).

300 (Multiple Choices). По описанию, этот код отрабатывается сервером, когда запрошенный ресурс находится в нескольких местах одновременно (?) и клиенту предлагается выбор между этими локациями (?). Бред какой-то. А в реальной жизни это можно вообще использовать и если да, то зачем?

301 (Moved Permanently) и 302 (Moved Temporarily). Это логичнее, но не ясно, как просходит индексация всех перемещённых страниц (а если их тысячи?), и не проще ли оставить отработку ошибки 404, что и происходит в большинстве случаев?

Группа 4** (Ошибки клиента).

400 (Bad Request). Как говорится в описании, этот код обрабатывается при неправильном синтаксисе запроса. Это относится к обработке скриптов или же есть ещё какие-то виды синтаксических ошибок?

401 (Unauthorized). А каков механизм обработки этого запроса и даётся ли ответ сервера в виде отдельной страницы так же как и обработка, скажем 404й ошибки?

403 и 404. No comments.

409 (Conflict). А есть какая-нибудь практическая необходимость обработки этого кода?

Группа 5** (Ошибки сервера).

500. No comments.

501 (Not Implemented). Каким макаром обычный пользователь может заказать у сервера что-то чего на этом сервере нету? А если речь идёт о скрипте, то обычно при подобных ошибках отрабатывается код 500, мне кажется.

503 (Service Unavailable). Два варианта развития событий: сервер проходит техническое обслуживание или же сервер попросту перегружен. Если мы говорим о виртуальном хостинге и провайдер проводит профилактику на сервере, то при обращении по адресу моего сайта, загрузится моя страница об этой ошибке или страница хостера? Плюс, в той же спецификации специально отмечено, что некоторые сервера даже не отрабатывают этот код, а попросту отказывают в соединении. Как узнать, что будет делать твой конкретный хост и от чего это вообще зависит?

Часть вторая. Техническая.

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

[ 09 Ноября 2002: Исправлено theUg ]
ptitov
новый человек
0
Сообщения: 175
Зарегистрирован: 22.07.02
Откуда: Москва
Заголовок сообщения: Ошибка 404 и обработка других HTTP-кодов.
Сообщение Добавлено: 9 Ноябрь 2002, 13:37:00 
300 - http://www.w3.org/Protocols/HTTP/1.1/spec.html#Content-Negotiation
301/302 в серверах практически не используются, никакой "индексации" не существует. Применяются сервером для редиректа при запросе http://server/dir на http://server/dir/, а также в скриптах. Обычно клиентский браузер страницу "ошибки" не отображает.
400 - ошибка при передаче клиентом заголовков HTTP.
401 - ошибка авторизации. Когда нажимается кнопка "отмена" в окне HTTP-авторизации и т.п. Можно переназначить.
409 - в веб-серверах фактически не применяется. HTTP-протокол поддерживает не только методы GET и POST.
501 - ни чего нету, а неподдерживаемым способом. Т.е. сервер не хочет обрабатывать запрос специфического типа (тот-же PUT) или этот тип ему не известен.
503 - от настроек сервера. Нагружать сервер обработкой ошибки перегрузки по меньшей мере нелогично.

По второй части: в .htaccess надо писать не
ErrorDocument 404 http://server/404.html
, а
ErrorDocument 404 /404.html
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 2 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100