Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11-0223_ПЗМПД_l1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.66 Mб
Скачать

1.4.2 Формат і синтаксис поля "Cookie"

При формуванні запиту до сервера, броузер перевіряє збережені cookie на предмет відповідності домену сервера і іншої інформації. У випадку, якщо будуть знайдені актуальні cookie, броузер пересилає їх серверу в окремому полі заголовку Cookie HTTP-запиту у вигляді пари ім'я/значення:

Cookie: NAME 1 =OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ...

Одночасно можна задавати декілька значень cookie через крапку з комою.

У випадку, якщо cookie приймає нове значення записаного раніше в браузер cookie із співпадаючими параметрами NAME, domain і path, то старе значення замінюється новим. У решті випадків нові значення cookie додаються до записаних раніше.

У випадку кешування документів, наприклад, proxy-сервером, поле Set-Cookie HTTP заголовка ніколи не кэшируется. Якщо proxy-сервер приймає відповідь, що містить поле Set-Üookie в заголовку, вважається, що поле доходить до клієнта незалежно від коду відповіді 304 (Not Modified) або 200 (OK). Відповідно, якщо клієнтський запит містить в заголовку Cookie, то він повинен надійти до сервера, навіть якщо жорстко встановлений параметр If-Modified-Since.

Наприклад, браузер запрошує документ і приймає від сервера у відповідь: Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday, 09-Nov-99 23:12:40 GMT

Коли браузер повторно запитує той же URL з шляхом "/" на цьому сервері, він надсилає серверу:

Cookie: CUSTOMER=WILE_E_COYOTE

1.4.3. Способи запису значень cookie

Є декілька способів запису, з яких найчастіше використовуються три: через META-теги мови HTML, за допомогою JavaScript або серверними програмами. Будь-яким способом можна задавати як одне, так і декілька значень відразу.

1.4.3.1. Запис cookie за допомогою meta-тегів

Простий спосіб виставити cookie - використати відповідний META-тег в елементі <HEAD>...</HEAD> будь-якого HTML документа. У загальному випадку цей тег має такий синтаксис:

<META HTTP-EQUIV=" Set-Cookie" CONTENT=MNAME=value; EXPIRES=date; DOMAIN=domain_name; PATH=path; SECURE"/>

1.4.3.2. Запис cookie за допомогою JavaScript

В цьому випадку cookie записується і читається через спеціальну властивість документа document.cookie у вигляді текстового рядка: document.cookie = "name = value; expires=date; path=path; domain=domain_name; secure";

Для видалення cookie встановлюється зі свідомо застарілим параметром expires, в даному випадку 1 січня 1970 року, тобто expires=Thu, 01-Jan-70 00:00:01 GMT.

Запис cookie за допомогою серверних програм на прикладі PHP-скрипта буде розглянуто в наступних лабораторних роботах.

1.5. Кешування Web-ресурсів

Кеш ресурсів може бути розташований між одним або більше Web-серверами і клієнтом або декількома клієнтами. Він формується під час обробки запитів і в залежності від налаштувань може містити копії відповідей -HTML-сторінок, зображень і інших файлів. При повторній появі запиту відповідь може бути взята з кеша замість звернення до сервера.

Кеш використовується головним чином для того, щоб зменшити час очікування відповіді і мережевий трафік.

Існує три види кешей Web-ресурсів:

o кеш браузера - розташовується на стороні клієнта

o proxy-кеш - розташовується на сервері

o gateway-кеш - розташовується між мережами.

У різних браузерах місце розташування кеша може розрізнятися. Браузер Internet Explorer зберігає кеш в папці C:\Documents and Settings\ Корістувач\local Settings\Temporary Internet Files\Content.IE5\

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]