IHO.RU - ваш хостинг При заказе хостинга
на год – домен в подарок
Cлужба поддержки:
support@iho.ru

+7 (911) 947−89−09
Хостинг   |   Тарифы   |   Домены   |   Как заказать   |   Оплата   |   Партнерам   |   Справка   |   Контакты Регистрация   |   Управление
новости >> архив 2003-2008 >> февраль 2004 >> 12.02.2004

Немного полезного о протоколе HTTP - Платный хостинг IHO.RU

12.02.04

Немного полезного о протоколе HTTP

Как общается браузер с сервером? Говоря попросту, клиент шлет запрос, сервер возвращает ответ. Что нам сейчас интересно, так это статус возврата в HTTP-заголовке. Такие статусы, как 404 и 403 знакомы, думаю, всем. А вот код 204 не так широко известен.

Он имеет описание No Content, и при получении такого кода браузер не должен ничего делать, то есть перезагрузки страницы не произойдет. На первый взгляд может показаться, что таким образом мы не можем получить никакого ответа от сервера, и потому невозможно узнать, выполнился скрипт или нет, не произошла ли какая-то ошибка. Но это неверно: в случае неудачи просто не надо посылать этот код возврата, а вернуть вместо него сообщение об ошибке или что-то еще. Обратите внимание, что сейчас мы не ограничиваем себя методом GET, и потому отправить на сервер большую и сложную форму можно без малейшего труда.

Рассмотрим более детально, как следует использовать этот прием, и что можно с него получить. Представим себе, что у нас есть некоторая форма, которую нужно обработать скриптом. Исполняющий скрипт должен возвращать в случае успешной обработки код 204, и страница с формой не будет перезагружаться. Поскольку пользователю все же необходимо какое-то подтверждение успеха, на кнопку submit следует повесить нечто вроде OnClick=«alert(?Все путем!?)». Особенно это будет удобно, если форма является малозначительной частью страницы, например, голосовалка или подписка на рассылку.

Если обработка данных прошла неудачно, пользователя надо вернуть к заполнению формы — например, с помощью указания заголовка Location. Осторожно, тут есть тонкость. Если указан не полный, а локальный URL в таком заголовке, то сервер может не потребовать нового запроса от браузера, а сразу выдаст требуемый документ, отчего в адресной строке и журнале браузера останется адрес нашего скрипта. Плохо это потому, что обработчик информации останется в истории, и манипуляции с кнопкой «Назад» могут привести посетителя к нему опять, что чревато повторной отсылкой информации. Поэтому URL стоит указывать полностью. Такой особенностью (по некоторым данным, отчасти подтверждаемым проверкой) обладает Apache. Возможно, это зависит от конфигурации или версии. Не забудьте проверить.

Некоторое недоумение посетителя (в случае неудачной обработки данных) может вызвать то, что сначала появится alert с подтверждением успеха, а потом загрузится страница с сообщением об ошибке. Но вероятность такой ситуации можно минимизировать, если перед отправкой информации тщательно проверять ее Javascript?ом. Тогда ошибки будут возникать только в статистически несущественных случаях некорректной работы сервера.

При желании можно придумать еще много различных применений этому методу. А можно почитать документацию и найти еще что-нибудь интересное.

Автор: Сергей Чистович
Источник: Заметки HTML кодера


проверить почту:

ящик:

пароль:

панель управления:

логин:

пароль:

подобрать домен:

Имя домена:

(имя домена указывается без www)










Реклама:


        © 2002-2011 ООО "АЙХО Нетворкс"     |     Хостинг IHO.RU     |     Санкт-Петербург     |     лицензия на телемат. уcлуги N 88632     |     карта сайта     |     обратная связь