ОбъектHttpCookie
HttpCookie — это объект cookie, инкапсулированный протоколом HTTP. Он предоставляет различные атрибуты для получения и настройки файлов cookie. Он также поддерживает организацию и обработку нескольких файлов cookie. Этоhttp.Requestиhttp.ResponseВажное свойство, поддерживаемое обоими объектами.
На стороне сервера вы можете передатьHttpRequest.cookiesчтобы получить все файлы cookie в HTTP-запросе. Каждый файл cookie здесь представляет собой объект HttpCookie, и информацию, связанную с файлами cookie, можно получить или установить через его свойства или методы. Например, мы можем прочитать соответствующие атрибуты из файла cookie, отправленного клиентом, с помощью следующего кода:
1
2
3
4
5
6
7const http = require('http');
const server = new http.Server(8080, function(request) {
const cookies = request.cookies;
const name = cookies.get('name');
request.response.write(`Hello ${name}!`);
});
server.start();
Здесь мы используемHttpRequest.cookiesРесурс получает все файлы cookie в запросе. Затем используйте метод cookie.get, передав имя файла cookie, чтобы получить значение файла cookie.
Чтобы отправить файл cookie клиенту, создайте новый файл cookie с помощью объекта HttpCookie и добавьте его в коллекцию HttpReponse.cookies. Вот пример:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17const http = require('http');
const server = new http.Server(8080, function(request) {
const cookies = request.cookies;
let name = cookies.get('name');
if (name) {
request.response.write(`Hello ${name} again!`);
} else {
name = 'User';
request.response.cookies.add(new http.Cookie('name', name, {
expires: new Date(Date.now() + 900000)
}));
request.response.write(`Welcome ${name}!`);
}
});
server.start();
В приведенном выше примере мы сначала получаем HttpServletRequest.cookies, а затем пытаемся прочитать из него значение файла cookie с именем name. Если файл cookie существует, отправьте ответ на запрос и используйте значение файла cookie для приветствия клиента. Если файл cookie не существует, мы создаем новый объект cookie и добавляем его в коллекцию HttpServletResponse.cookies. Первый параметр с именем и значением используется для указания имени файла cookie и соответствующего значения. В то же время атрибут expires используется для указания срока действия файла cookie. Здесь в качестве срока действия указывается текущее время плюс 15 минут. Наконец, мы добавляем приветственное сообщение к содержимому возвращаемого значения.
отношения наследства
Конструктор
HttpCookie
Конструктор HttpCookie создает новый объект HttpCookie.
1new HttpCookie(Object opts = {});
Параметры звонка:
- opts: Объект, определяет свойства созданного файла cookie.
Параметры, которые может установить opts, следующие:
1
2
3
4
5
6
7
8
9{
"name": "", // specify the name of the cookie
"value": "", // specify the value of the cookie
"expires": Date, // specify the expires time of the cookie
"domain": "", // specify the domain of the cookie
"path": "", // specify the path of the cookie
"secure": false, // specify the secure of the cookie
"httpOnly": false, // specify the httpOnly of the cookie
}
Конструктор HttpCookie создает новый объект HttpCookie.
1
2
3new HttpCookie(String name,
String value,
Object opts = {});
Параметры звонка:
- name: строка, указывает имя созданного файла cookie.
- value: строка, указывает созданное значение файла cookie.
- opts: Объект, укажите другие атрибуты созданного файла cookie.
Параметры, которые может установить opts, следующие:
1
2
3
4
5
6
7{
"expires": Date, // specify the expires time of the cookie
"domain": "", // specify the domain of the cookie
"path": "", // specify the path of the cookie
"secure": false, // specify the secure of the cookie
"httpOnly": false, // specify the httpOnly of the cookie
}
свойства члена
name
Строка, запрос и установка имени файла cookie
1String HttpCookie.name;
value
Строка, запрос и установка значений cookie
1String HttpCookie.value;
domain
Строка, диапазон доменных имен для запроса и настройки файлов cookie.
1String HttpCookie.domain;
path
Строка, запрос и установка диапазона пути к файлам cookie
1String HttpCookie.path;
expires
Дата, запрос и установка срока действия файлов cookie
1Date HttpCookie.expires;
httpOnly
Логическое значение, запрос и установка, разрешены ли только файлы cookiehttpЗапрос, по умолчанию false
1Boolean HttpCookie.httpOnly;
secure
Логическое значение, запрос и установка, передаются ли файлы cookie только через https, по умолчанию false
1Boolean HttpCookie.secure;
функция-член
parse
Проанализируйте данную строку и заполните объект cookie.
1HttpCookie.parse(String header);
Параметры звонка:
- header: Строка, указывает строку заголовка, которую необходимо проанализировать.
match
Проверьте данноеurlСоответствует ли он текущим настройкам?
1Boolean HttpCookie.match(String url);
Параметры звонка:
- url: Строка, определяющая тестurl
Результаты возврата:
- Boolean, возвращает true, если совпадение прошло успешно
toString
Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String HttpCookie.toString();
Результаты возврата:
- String, возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.
1Value HttpCookie.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется.
Результаты возврата:
- Value, возвращает значение, содержащее сериализуемый JSON