Давайте вспомним, каким образом мы можем передавать CGI-программе параметры.
При использовании метода GET параметры передаются в строке URL.
При использовании метода POST параметры передаются отдельно и не видны
пользователю.
(отметим также, что в Internet Explorer 3 есть ошибка,
из-за которой он ТЕРЯЕТ параметры при нажатии кнопки "Обновить").
Таким образом, нам не хватает возможности хранить информацию
о передаваемых параметрах.
Что такое Cookie ?
"Cookie" - это небольшая порция информации,
которая сохраняется на компьютере пользователя и
привязана к конкретному URL. Когда браузер обращается
к данному URL, он передает на удаленный сервер
этот блок информации. В результате на сервере
будет сформирована строка окружения HTTP_COOKIE,
в которой содержится список всех cookies,
которые относятся к данному URL.
Перменная окружения HTTP_COOKIE будет содержать пары имен/значений
параметров, разделенных символом ";" в следующем виде:
имя1=значение1;имя2=значение;...
Таким образом мы можем задавать сразу несколько параметров
в одном cookie для данного URL.
Как создать Cookies ?
Давайте разберемся, как это делается!
Для создания куков достаточно использовать HTTP-заголовок.
Вспомним, каким образом задается тип передаваемого документа в заголовке:
Content-type: text/html
Точно таким же образом в заголовке задаются и cookie!
Просто добавляем еще одну строку:
Content-type: text/html
Set-Cookie: Name=Value
Таким образом, к примеру, можно сохранить на компьютере пользователя
его имя и пароль, необходимые для входа на защищенный сайт
или защищенную страничку.
Многие сайты запрашивают у пользователя имя и пароль,
передают их по методу POST, и затем сохраняют
на компьютере полдьзователя в виде cookie.
Пример использования Cookies
По просьбам читателей я сделал программу Cook,
демонстрирующую, как использовать cookies для авторизации пользователя.
В архиве COOK.ZIP находится самая последняя версия моего модуля
CGI и модуль Base64.