Определить пользовательский агент, а затем установить его в cookie, иногда вызывает петли перенаправления - PullRequest
0 голосов
/ 20 июня 2019

У меня есть следующий сценарий:

  • У меня есть два веб-сайта, один для мобильных ( m.mydomain.com ) и один для настольных компьютеров (mydomain.com )

  • Я решаю, какой сайт загрузить, используя обнаружение пользовательского агента

  • После этого обнаружения я сохраняю информацию об устройстве пользователя вФайл cookie называется: устройство.
  • Этот файл cookie может содержать одно из следующих значений: рабочий стол или мобильный.
  • Если пользователь заходит на сайт с файлом cookie устройства, я пропускаю обнаружение пользовательского агента и предполагаю, что пользователь действительно использует записанное устройствов файле cookie.

enter image description here

(Примечание к изображению: работает и в обратном направлении, когда пользователь хочет открыть мобильный телефонссылка с рабочего стола. Когда мобильный сайт устанавливает cookie, домен cookie будет m.mydomain.com)

Ошибка: Таким образом, большинство изВременами этот механизм синхронизирован, но иногда возникают циклы перенаправления, и я не совсем понимаю причину этого.В основном один домен считает, что это рабочий стол, другой считает, что он мобильный, и они выполняют бесконечный цикл с перенаправлением.После 3 перенаправлений происходит сбой браузера с ошибкой слишком большого числа перенаправлений.

Также важно упомянуть, что я никогда не сталкивался с этим на реальном мобильном устройстве, только когда я переключался в инспекторе chrome между мобильными и настольными пользовательскими агентами..

Мои идеи заключались в том, что:

  • Возможно, настройка cookie не удалась до перенаправления
  • Возможно, присвоение имен доменам как-то вызывает путаницу, когда яхотите получить доступ к значению.
  • Возможно, чтение значения cookie не удается
...