Xpoint
   [напомнить пароль]

Firefox не перезагружает страницу

Метки: [без меток]
2006-03-16 05:45:10 [обр] Rom McRitsky(0/441)[досье]

В ответ на post-данные, отосланные FF, он получает следующие заголовки:

HTTP/1.1 302 Found
Date: Thu, 16 Mar 2006 02:37:07 GMT
Server: Apache/1.3.31 (Unix) PHP/4.3.10
X-Powered-By: PHP/4.3.10
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: http://domain.ru/cabinet/index.html#remind
ETag: 7b2674afda887479f375ecd84f42b25f
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251

Location указывает на ту же страницу, откуда произведена отправка формы.
По идее, FF должен перегрузить страницу и показать сообщение, которое появляется при отправке формы.
Но. Он запрашивает страницу через раз. Часто на таком ответе сервера сеанс и заканчивается, FF даже не делает попытки обратиться к серверу.

Экспериментальным путём удалось выяснить, что FF частенько вообще не шлёт никаких запросов на сервер, если происходит переход на страницу, на которой только что побывали (в пределах 10-60 секунд, точно не замерял, но где-то около того) - вне зависимости от того, нажата ли кнопка back, получил ли он заголовок Location либо произошёл переход по ссылке.

Можно ли (со стороны сервера) заставить его не стесняться и проверять URL?

спустя 5 часов [обр] GRAy(0/259)[досье]
Добавить в action атрибут формы какой-нибудь бессмысленный параметр? Типа
<form method="post" action="http://gdeto.ru/index.html?dummy">
....
спустя 1 час 4 минуты [обр] Алексей В. Иванов(9/2861)[досье]
Rom McRitsky[досье] антикэширующие заголовки были выданы такие же для этой страницы с формой? (до отправления POST'а)
спустя 3 часа 31 минуту [обр] Rom McRitsky(0/441)[досье]
Алексей В. Иванов[досье]
Нет, до отправления POST'а были выданы честные заголовки - с Last-Modified и ETag.
GRAy[досье]
Попробую
спустя 12 минут [обр] Владимир Палант(49/4445)[досье]
Ну тогда ничего странного, что эта страница кешируется. Даже не знаю, можно ли что-то сделать, за исключением добавления случайного параметра.
спустя 2 часа 3 минуты [обр] Rom McRitsky(0/441)[досье]

Ну как ничего страшного :))
Человек ввёл данные в форму, а ему вместо ответа - та же форма, только в профиль.

GRAy[досье]
Не помогло. Возврат-то идёт на страницу без этого мусора..

спустя 3 минуты [обр] Владимир Палант(49/4445)[досье]

Rom McRitsky[досье]
Я писал — "ничего странного" ;)

Выдавать случайное число или текущее время нужно здесь:

Location: http://domain.ru/cabinet/index.html?rand1234#remind
спустя 21 минуту [обр] Rom McRitsky(0/441)[досье]

Владимир Палант[досье]
Действительно, недоглядел.

Конечно, rand в location - выход. Но смотрится уродливо :(
Неужели без этого не обойтись?

спустя 23 минуты [обр] Владимир Палант(49/4445)[досье]
Ну если вы говорите браузеру, что он может кешировать эту страницу — вряд ли.
Powered by POEM™ Engine Copyright © 2002-2005