Как создается свойство объекта DOM document.cookie? - PullRequest
2 голосов
/ 28 апреля 2011

Когда вам предоставляется веб-страница, кто создает документ DOM? Это строго сервер печати HTML? Как работает браузер? Мне особенно интересно узнать, как заполняется свойство document.cookie.

A) Сервер заполняет document.cookie

  1. Браузер сохраняет куки для foobar.com на жестком диске пользователя.
  2. При следующем посещении foobar.com браузер представляет все файлы cookie для foobar.com на сервер.
  3. Сервер создает свойство DOM document.cookie на основе этих файлов cookie.

B) Браузер заполняет document.cookie

  1. Браузер сохраняет куки для foobar.com на жестком диске пользователя.
  2. При следующем посещении foobar.com сервер приступит к созданию и обслуживанию HTML.
  3. Где-то до или после того, как браузер захватывает все куки на жестком диске и заполняет document.cookie.

Мне интересна эта информация, потому что я изучаю, как удаление файлов cookie на прокси-серверах, таких как Varnish и Squid, может влиять на файлы cookie. Если document.cookie был создан сервером (опция A выше), то я бы предположил, что удаление cookie с помощью прокси повлияет на свойство document.cookie. Однако я склонен думать, что дело B в том, что на сервере Varnish у меня есть указание специально удалять cookie, но данные cookie остаются постоянными в document.cookie даже после удаления их из запроса.

Этот вопрос особенно важен для людей, у которых есть веб-сайты, скрывающиеся за Varnish, поскольку запрос, сопровождаемый файлом cookie, сводит на нет использование кэшированных данных и генерирует бэк-энд.

Ответы [ 2 ]

2 голосов
/ 28 апреля 2011

DOM создается и используется браузером на основе ответа сервера.Часть работы механизма компоновки браузера заключается в анализе HTML-кода, возвращаемого сервером, в DOM.К сожалению, разные браузеры используют разные механизмы компоновки , поэтому дерево DOM иногда имеет различия внутри него.

document.cookie определенно является атрибутом спецификации DOM Level 1 .Как было сказано, правильный ответ более или менее (B).Файлы cookie упаковываются как часть запроса, который клиент отправляет на сервер, и, хотя сервер может устанавливать файлы cookie в ответе, в конце они все находятся на стороне клиента.

1 голос
/ 28 апреля 2011

Сервер отправляет данные в браузер, который их интерпретирует и создает дерево DOM.куки отправляются вместе с данными и не встроены в DOM, а хранятся на локальном компьютере.в основном Б. Браузер может манипулировать файлами cookie на компьютере;сервер может манипулировать любыми выданными cookie-файлами.

...