![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Может немного необычный вопрос. Если страница была загружена в результате отправки формы с POST запросом, при ее обновлении через браузер (F5, кнопкой в тулбаре и т.д.), последний спрашивает, отправлять ли данные повторно? Можно как-то отключить эту повторную отправку в случае такого обновлении странички?
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
стандартно это делается серверным редиректом на самого себя. какой язык на сервере? можно попытаться и javascript'ом сразу по загрузке перезагрузить страницу, но это гораздо хуже выглядит и более ресурсозатратно |
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
bars80080, ну это да, а кроме редиректа без вариантов?
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
||||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Ну хотя бы даже чисто интереса ради. Как это нет? Страничка чуть дольше отзываться будет по-любому. Да если, к примеру, после отправки формы выводится некая инфа на основе полученной информации? Ее что теперь специально где-то сохранять только ради того чтоб после редиректа отобразить? |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
вообще-то архитектура изначально строится по-другому. пользователь отсылает форму, скрипт на сервере её обрабатывает, если находит ошибки, то просто снова показывает форму с заполненными полями, а также выводит сообщение об ошибке. если же всё нормально, то скрипт записывает данные в БД и выбрасывает редирект. куда он направляет пользователя - зависит от поставленных целей. может к примеру снова выбрасывать на пустую форму, чтобы можно было продолжить ввод. или на сводную таблицу данных. как видишь, здесь нет никакой случайной информации на основе полученных данных |
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Просто я еще помню сеть 90-х, и редиректы изначально делались даже не столько ради удобства программиста или каких либо выдуманных "архитектур", сколько ради экономии трафика и времени. Когда у вас 9600 бод, проще закрыть окошко с ожиданием редиректа, чем сразу после отправки формы (на том же форуме) грузить всю простыню. ЗЫ: вообще хотелось бы просто услышать ответ на вопрос, считайте что мне для саморазвития интересно, пусть чисто в теории, но без полемики. Это сообщение отредактировал(а) maxipub - 6.8.2010, 10:10 |
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 7 Всего: 22 |
maxipub,
барс совершенно прав ... и с какой стати страничка будет дольше отдаваться? - 0.005 сек не в расчет. Не скажу за архитектуру сетей в 90-х, верю что гуру, но вот сегодня предложенный вариант очень даже кошерный. Суть в том, что серверный редирект - не рефреш страницы, а всего лишь перенаправление запроса по другому адресу (в твоем случае - по тому же) - он даже сервер не покидает. В сравнении с временем проходжения запроса и отдачи ответа, измеряемые секундами, редирект займет доли секунды и ни на что не повлияет, зато скинет повторную отправку данных. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
ой, извините, не догадался, что вы очень хорошо разбираетесь в системах построения вэб-сайтов. непонятно тогда как вообще возник вопрос о такой банальной вещи, как запрет на повторную отправку данных. да отсебятина. привык пропускать любые знания через себя и далее говорить на собственном опыте. а не как советуют горе-писатели учебников. архитектура сильно зависит от используемых элементов и методов. к примеру, кирпич определяет большую трудоёмкость построения шарообразного здания. так и здесь, возможность повторной загрузки определяет алгоритм работы системы. от скорости, как только что сказали, ничего не зависит. если для канала заметен редирект, то пользователь по определению привык ждать минутами загрузки сайтов, потому как строка редиректа занимает ничтожную долю, по сравнению с объёмом передачи данных даже для маленькой страницы |
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Вы засекали? Но это чисто редирект, а ведь нам еще надо принять данные, обработать - это некое время. И еще надо их специально где-то сохранить лишь для того, чтоб после редиректа отобразить. Ну ладно, в любом случае непонятно русло дискуссии. Ок, редирект - вариант. Но я спрашиваю, а какие еще варианты есть? Мне просто интересно знать. Так что просьба ответить на вопрос, если кто может, а не начинать убеждать что редирект - это то что мне надо. Еще раз, оно мне не надо, мне интересны другие варианты, если они есть в принципе. и Как-то не вяжется. Просто или пишите "лично я делаю так то и так то..." или давайте линк на ман. А то вы просто ввели меня в замешательство, "архитектура" - это что-то технически описанное, документированное и стандартизированное. По крайней мере, в моем понимании. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
сами пальцем на кнопку секундомера жали? и как, огорчены? в смысле, успете разочароваться и убежать с сайта? а какое отношение имеет редирект к принятию данных, их обработке и хранению? или вы этого не делаете? а зачем тогда отправляете данные на сервер? почему не вяжется? я и без документации смогу сообразить, как класть арку. вот только документации сходу нарыть не смогу, хотя она есть. редирект - стопудово задокументирован где-то, но извините, что не могу похвастаться прямой ссылкой, не держит моя слабенькая головка несколько миллионов ссылок на документацию нужных в работе приёмов. а уж гуглом вы и сами пользоваться умеете |
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Ну да, как всегда. Может быть, конечно, палец у меня немного и кривой, говорите, если что...
Представьте себе, нет. Попадется - не забудьте. ;) Не редирект, а "вообще-то архитектура изначально строится по-другому...". Будут ответы по теме - велкам. Благодарю всех отозвавшихся. Всего хорошего. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
||||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 7 Всего: 22 |
Засек ... 0.0023 - пришлось даже задействовать наносчетчик, чтобы актуальней было ... у меня машина 8-миядерная с хорошими характеристиками. На серваке, думаю, побыстрее будет. Судя по ответам, ты просто не очень понимаешь сути предложенного решения. Предложенное решение просто добавляет к твоему обычному решению еще редирект - не повторные записи или отображения, а только редирект. То есть в твоем случае запрос приходит на сервер, ты его обрабатываешь, дальше записываешь данные или что ты там делаешь. Наш вариант ТОЛЬКО добавляет редирект на этот же адрес - не надо ничего нигде сохранять "чтобы после редиректа отобразить". Поэтому добавляй просто свои 0.015 секунд и не парь мозг. Кстати, время прихода и отсылки запроса и ответа на удаленном (не локальном тестовом!) сервере - от 1 до 3 секунд, если без больших массивов данных. Даже если взять 1 сек, то 0.015 составляет 1.5% от времени (в моем случае 0.23%). Стоит ли эта мизерная цифра этих дебатов? - Или это просто желание попридираться? |
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Есть масса задач анализа либо преобразования информации самого различного типа и характера - перевод текста, преобразование введенного кода в статичный html-блок с подсветкой, обработка изображения (создание аватара, применение фильтров, эффекты), загруженного пользователем, валидация кода, преобразование формата данных и т.д. и т.п., продолжать можно до бесконечности.
Вы о чем? Будьте добры, вникайте в суть вопроса. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |