2011-12-14 10 views
0

Я читаю здесь о печеньях против сеансов. Я вижу, что cookie отправляется с каждым HTTP-запросом, и я хочу убедиться, что я понимаю, как работают интернеты.Что такое запрос в отношении файлов cookie?

Скажите, что у меня есть страница: test.php. Test.php имеет на нем 10 тегов скрипта, которые идут и вытягивают JS-скрипты() и 5 ​​тегов, которые вытягивают изображения. Загружает ли запрос Test.php 1 или 16 запросов?

Я использую файл cookie для хранения последних 10 посещенных URL-адресов и пользовательских избранных URL-адресов. Любимые URL-адреса могут быть довольно большими. Поэтому я хочу убедиться, что 1KB файлов cookie отправляется только 1 раз, а не 16 раз для каждого запроса.

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

Спасибо.

+1

«Как работают интернеты» - Действительно? - В любом случае, вы можете использовать Firebug/Dragonfly/etc. для проверки запросов ресурсов. Куки-файлы также могут быть привязаны к определенным путям. Настройка виртуальных поддоменов для статического контента - еще одна альтернатива. – mario

+0

@mario Я прочитал всю первую страницу обеих этих ссылок, и на мой вопрос не ответил. Если мне придется копать глубже, чем слишком похоронили. : P – phpmeh

+0

Возможный дубликат [cookies против сеансов для приложения php] (http://stackoverflow.com/questions/3150930/cookies-vs-sessions-for-php-application) и еще несколько вопросов по этой теме: http : //stackoverflow.com/search? q = php% 20cookies% 20vs% 20sessions – mario

ответ

1

Да, это 16 запросов.

Я рекомендую использовать только session_id куки для идентификации посетителя (в PHP это PHPSESSID Я считаю, он будет получать автоматически устанавливается, если вы используете session_start()). Храните фактические данные сеанса в базе данных или в отдельном контейнере данных. Это позволяет вам поместить столько, сколько хотите, и не позволяет устанавливать и отправлять слишком много файлов cookie.

См.: session_set_save_handler, это очень полезная функция.

+0

Просто, чтобы уточнить, Cookies не делают это правильно? Он просто вытягивает файл сеанса один раз на загрузку страницы, не так ли? Спасибо за вашу помощь! – phpmeh

+0

Я не уверен, что вы имеете в виду, но сеанс также использует cookie (cookie 'PHPSESSID'). Значение cookie - это всего лишь ключ, хотя фактическое содержимое сеанса хранится на сервере. – Halcyon

Смежные вопросы