- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Мне необходимо сделать возможность при необходимости перезагрузить страницу с определённым ID у всех посетителей у которых в данный момент она открыта. Конкретного времени когда нужно перегрузить нет, просто как мне это понадобится, может раз в день, а может в неделю. Как это сделать с наименьшей нагрузкой на сервер и компьютер пользователя?
Посетителей в онлайне в среднем человек 100-200.
Какая нагрузка будет я не представляю, если хоть сколько-то заметная или у посетителей будут неудобства, то обойдусь без перезагрузок.
Используйте сокеты.
Насколько важно скорость перезагрузки - т.е. время между тем как вы решили, что надо перезагружать и рельной перезагрузкой у пользователя?
Навскидку вариант - при генерации в страницу добавляете js переменную со значением, например, 1.
По таймеру (здесь как раз надо поиграться в зависимости от того как быстро хотите перезагружать) запрашиваете сервер на предмет измения этого значения. Хоть аяксом, хоть динамически тег script добавляйте. Если значение на сервер отличается - перезагружаете.
Еще вариант - картинку динамически вставлять с определенным урлом (который задается при первоначальной генерации страницы). Т.е. например, http://site.ru/1.gif и обработчик onError ставите, когда надо перезагрузить - картинку убираете (ну скрипт вместо картинки, чтобы 404 выдал код) - скрипт видит, что картинка исчезла - перезагружает страницу.
Но суть - та же, по таймеру это делать.
Наверно, есть какая-то возможность на веб-сокетах что-то подобное сделать, но тут я подробностей не знаю.
По таймеру ajax запрос на php файл, в котором будет id юзера.
Каждые 10 секунд проверять его. Если id совпадает с текущим обновить страницу. Никаких проблем не вижу.
ID страницы наверное имелось ввиду. Тут ещё нужно что-бы перегрузилась страница один раз только, после перезагрузки то скрипт опять полезет проверять не нужно ли страницу перегружать.
Нумеровать может перезагрузки эти. Каждый раз когда отправляешь запрос на перезагрузку, в БД для данной страницы номер перезагрузки увеличивается на 1 и в отдельной папке файл создаётся "id-страницы.txt" с этим-же числом, если число больше чем было указано при генерации страницы значит нужно перегрузить её.
Запоминается в куку. Если кука есть, не перезагружать. Кука ставиться только на конкретную страницу и удаляется после её закрытия.
websockets или eventsource. nginx с модулем libnginx-mod-nchan облегчит эту задачу.
ID страницы наверное имелось ввиду. Тут ещё нужно что-бы перегрузилась страница один раз только, после перезагрузки то скрипт опять полезет проверять не нужно ли страницу перегружать.
Нумеровать может перезагрузки эти. Каждый раз когда отправляешь запрос на перезагрузку, в БД для данной страницы номер перезагрузки увеличивается на 1 и в отдельной папке файл создаётся "id-страницы.txt" с этим-же числом, если число больше чем было указано при генерации страницы значит нужно перегрузить её.
Ну вот я так и предлагаю.
Например, при генерации страницы в коде будет что-то типа
var version = 135;
т.е. записываться текущая ревизия.
Когда надо обновляться, то скрипт на сервере будет выдавать 136. Скрипт по страницы поймёт, что значение изменилось - перезагрузит страницу. А когда эта страница будет генерироваться - то в её теле var version = 136; уже будет.
Это общий принцип, ajax,сокеты или что-то еще будете использовать - роли не играет.