что такое сеанс и файлы cookie в php и где он хранится
я googled. Но я не могу найти точный ответ.
любезно уточнить
заранее спасибо
Файлы cookie хранятся в браузере, а не в PHP. Вы можете получить куки-файлы, отправленные браузером, просмотрев $ _COOKIE ['cookiename'], но насколько я знаю, вы не можете установить такие файлы cookie – вам нужно использовать setCookie () или, возможно, заголовок ('Set- cookie: … ').
Сессии можно хранить в любом месте, но чаще всего это просто файлы на файловой системе вашего сервера; ваша функция php.ini (или функция ini_get ()), вероятно, будет полезной при определении того, где. Пытаться:
$session_file_name = ini_get('session.save_path')."/sess_".session_id();
Файл cookie – это часть данных, которую сервер запрашивает у клиента для хранения и отправки последующих запросов.
Сессия – это некоторые данные, хранящиеся на сервере, и подключенные к пользователю с помощью идентификатора сеанса. Этот идентификатор сеанса в большинстве случаев хранится в файле cookie.
Сессия может храниться в файловой системе, скорее всего, в временном каталоге, но также и в базе данных.
У обоих файлов cookie и сеансов есть срок годности, связанный с ними, поэтому они не будут длиться вечно.
HTTP не имеет статуса . Это означает, что всякий раз, когда вы запрашиваете что-то с веб-сервера, он будет обслуживать запрошенную страницу и сразу же забыть вас.
Представьте себе корзину:
Вы добавляете что-то в корзину. У сервера будет какое-то хранилище данных, чтобы помнить, что вы помещаете элемент X в корзину, но поскольку HTTP не имеет статуса, при следующем вызове сервера он не запомнит, что вы положили что-то в корзину. Веб-сервер может создать форму на возвращенной странице и заполнить ее каждым добавленным вами элементом. Теперь вы добавляете еще один элемент, но также отправляете, какой элемент вы уже добавили. Повторение. Это эффективно передает все состояние вашего взаимодействия по каждому запросу. Но это довольно неэффективно и небезопасно.
С включенными сеансами веб-сервер создаст для вас уникальный идентификатор, так называемый идентификатор сеанса . Это будет использоваться для связывания вас и корзины с последующими запросами. Обычно идентификатор сеанса отправляется в браузер в Cookie . Технически это происходит через HTTP-заголовки:
Set-Cookie: PHP_SESS=abcdefg123456
Браузер читает заголовки и создает или обновляет файл cookie в хранилище файлов cookie внутри браузера. Обычно файлы cookie – это не что иное, как хранение ключей и значений в текстовых файлах на вашем компьютере. Если вы хотите посмотреть на них в Google, «где [имя пользователя] хранит мои файлы cookie».
При следующем запросе на тот же веб-сервер ваш браузер отправит cookie вместе, и теперь веб-сервер сможет связать этот идентификатор с некоторым хранилищем данных (независимо от того, установленным как обработчик сохранения сеанса ) на сервере, например, информация для входа, содержимое корзины покупок и т. д.
См. Ссылку на Руководство по PHP, которое я связал ниже вашего вопроса, для получения более подробной информации.
Cookie – это небольшая часть данных, хранящаяся на стороне клиента (браузер), а сеанс – текстовый файл, хранящийся на стороне сервера, имя которого хранится в файле cookie.
Это все.