Страница 1 из 1

Method Not Implemented (где собака порылась?)

Добавлено: 26 окт 2004, 09:49
UUU
время от времени при заходе на страничку вываливается сабж (не у всех посетителей)

Method Not Implemented
nameact=add_subj&id=10&subj=текст+method+not+implemented+....+текст"GET to /faq.shtml not supported.
Invalid method in request
nameact=add_subj&id=10subj=текст+method+not+implemented+....+текст&quotntrcn"GET
/faq.shtml?nameact=view&level=1&id=10&id2=637 HTTP/1.1

При этом скрипт обрабатывается.
Что происходит:
Посетитель жмет кнопку отправить.
Форма отправляется к серверному скрипту
Скрипт успешно обрабатывает запрос и выдает ответ. В заголовках ответа стоит редирект через 10 секунд, также редирект прописан и в мета-тегах старнички

Чую, что вот этот редирект и не срабатывает. А Почему? От браузера зависит?

Добавлено: 26 окт 2004, 17:51
AiK
В заголовках ответа стоит редирект через 10 секунд
А это как?

Добавлено: 26 окт 2004, 23:06
UUU
А есть 2 способа:

1. используя redirect($URL) от use CGI
или тоже с СГИ но по другому:

print header(
-content_type=>"text/html",
-refresh=>10; URL=$URL

Добавлено: 26 окт 2004, 23:29
AiK
Есть два вида серверного редиректа с кодами ответа 301 и 302 соответственно. Если ничего не путаю, то redirect($URL)
возвращает код 302 и соответственно заголовок Location.
А вот в заголовке refresh написать это что-то новенькое.

Добавлено: 27 окт 2004, 08:06
UUU
Хм, но работает.
Сделал поиск наличия рефреша в перловых скриптах. Нашел Push.pm от CGI

sub my_last_page {
header(-refresh=>'5; URL=http://somewhere.else/finished.html',
-type=>'text/html'),
start_html('Moved'),
h1('This is the last page'),
'Goodbye!'
hr,
end_html;
}

Добавлено: 27 окт 2004, 12:23
chur
Оттуда же (Push.pm)
Only Netscape Navigator supports server push. Internet Explorer browsers do not.

Добавлено: 27 окт 2004, 13:16
UUU
Хм. Неужели проблема в том, что ОПЕРА не понимает (неправильно обрабатывает данный заголовок?)
Вроде написано, что в ответе могут быть и экспериментальные заголовки. И в данном случае браузер их должен просто не обрабатывать.