Несмотря на то что HTTP — очень полезный протокол, он известен в компьютерном мире как протокол, не поддерживающий состояния. Если это утверждение пока вам не понятно, не огорчайтесь. В отличие от ваших любимых программ, таких как текстовые процессоры, РНР не имеет средств для запоминания последнего запроса. Единственной информацией, доступной для РНР во время выполнения сценария, является информация, которую он обрабатывал во время HTTP-запроса. Например, пусть необходимо создать Web-сайт, запоминающий имена всех посетителей и использующий их для создания персонального содержимого из РНР-сценариев. Как отделить одного посетителя от другого в PHP-сценарии? Для решения этой проблемы весьма выразительным образом используются cookie-наборы. Если вы пока не понимаете, как работают cookie-наборы, представьте ситуацию со служащим автомобильной парковки. Когда вы приезжаете, служащий дает вам квитанцию и паркует ваш автомобиль. Съев свое блюдо или посмотрев представление, вы возвращаетесь к служащему, предъявляете квитанцию, и служащий выдает вам ваш автомобиль. Если бы у вас не было квитанции, как бы служащий определил, какой автомобиль ваш? Более того, как служащий определит, парковали ли вы машину вообще? Ситуация с квитанцией на парковке в точности соответствует тому, как работают cookie-наборы. Когда вы посещаете Web-сайт, сервер передает вам cookie-набор, идентифицирующий вас. Когда в следующий раз вы посетите этот сайт (возможно, даже другую его страницу), ваш браузер перешлет этот cookie-набор обратно серверу, для того чтобы сервер определил,кто вы такой.