#php #session #browser #cookies #cross-browser
#php #сеанс #браузер #файлы cookie #кроссбраузерный
Вопрос:
Пусть пользователь, использующий браузер Mozilla, на трех вкладках войдет в свою учетную запись yahoo, gmail и hotmail. Теперь, если мы очистим недавнюю историю, все три сеанса будут очищены.
Но в то же время, если есть другой сеанс в любом другом браузере, он не будет очищен.
Итак, что я пытаюсь спросить здесь, так это то, что файлы cookie и сведения, связанные с сеансом, кэш браузера будут находиться на локальном компьютере и будут очищены при очистке истории.
Но зависит ли это от браузера? Файл cookie и все остальные файлы будут иметь любой идентификатор, специфичный для браузера, как он будет отличать, что теперь очищает историю IE или историю Chrome.
Ответ №1:
Фактически вы можете использовать две разные учетные записи в двух разных браузерах одновременно. История браузера / файлы cookie и т.д. специфичны для данного браузера.
Не существует «стандарта», в котором браузер сохраняет свои настройки, каждый делает это по мере своего файла. MSIE может использовать реестр Windows, в то время как Firefox может использовать файл локальной базы данных.
Комментарии:
1. Вопрос в том, насколько это специфично и как оно поддерживается?
2. Веб-браузер сохраняет файлы cookie в файле, специфичном для данного браузера. Это совершенно очевидно.
3. Где ? можем ли мы увидеть это в нашей локальной системе? в какой-нибудь папке??
4. @Зод, конечно. Давайте поговорим о Firefox. В Firefox есть система под названием profiles (профили). Профиль похож на учетную запись пользователя. В «профиле» есть файл под названием cookies.sqlite, который содержит текущие файлы cookie. Мой текущий профиль находится здесь:
C:Users%USERNAME%AppDataRoamingMozillaFirefoxProfiles
там должна быть хотя бы одна папка, просто откройте ее, и внутри вы увидите несколько файлов cookie.
Ответ №2:
Чтобы сервер отслеживал сеанс клиента, клиенту отправляется идентификатор сеанса. Который клиент использует в каждом запросе к серверу.
На локальном компьютере у каждого браузера есть свой способ сохранения файлов cookie. Итак, когда вы очищаете файлы cookie в Firefox, файлы cookie, сохраненные Firefox, будут удалены. То же самое с Chrome, IE, Safari и т.д.
Насколько я знаю, они могут даже использовать собственный способ сериализации файлов cookie.
Комментарии:
1. Ancide — Хотя это возможно, куки-файлы работают не так (насколько я знаю). Идентификатор сеанса сохраняется в файлах cookie, и браузер просто возвращает их обратно. Сервер не проверяет тип браузера, только файл cookie, предоставленный браузером.
2. Хорошо, итак, вы хотите сказать, что если у нас есть 2 запроса к серверу с одного и того же ip, у которого нет идентификатора сеанса, сервер не будет проверять, из того же браузера ли это? Просто укажите новый идентификатор сеанса для каждого?
3. @ancide вы говорите о том, как сервер узнает. я думаю, что мой вопрос связан с локальной системой и браузером. Вопрос в том, насколько сеанс и cookie специфичны для любого браузера и как это поддерживается?
4. @Ancide — Да. Я не говорю, что никто не проверяет (или может проверить) тип браузера, я просто говорю, что в целом они не проверяют тип браузера.
5. При очистке сеанса, насколько я понимаю, никакой активности, связанной с сервером, не происходит. локальный идентификатор и значения будут удалены.!!