ObjectHttpCookie
HttpCookie is een cookie-object ingekapseld door het HTTP-protocol. Het biedt verschillende attributen voor het verkrijgen en instellen van cookies. Het ondersteunt ook de organisatie en verwerking van meerdere cookies. Het ishttp.RequestEnhttp.ResponseEen belangrijke eigenschap die door beide objecten wordt ondersteund
Aan de serverkant kun je slagenHttpRequest.cookiesom alle cookies in het HTTP-verzoek te krijgen. Elke cookie hier is een HttpCookie-object en cookie-gerelateerde informatie kan worden verkregen of ingesteld via de eigenschappen of methoden ervan. We kunnen bijvoorbeeld de bijbehorende attributen uit de cookie lezen die door de klant is verzonden via de volgende code:
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();
Hier gebruiken wijHttpRequest.cookiesDe accommodatie krijgt alle cookies in het verzoek. Gebruik vervolgens de methode cookies.get, waarbij u de naam van de cookie doorgeeft, om de waarde van de cookie te achterhalen.
Om een cookie naar de client te sturen, maakt u een nieuwe cookie via het HttpCookie-object en voegt u deze toe aan de HttpReponse.cookies-verzameling. Hier is een voorbeeld:
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();
In het bovenstaande voorbeeld verkrijgen we eerst HttpServletRequest.cookies en proberen vervolgens de waarde van de cookie met de naam naam daaruit te lezen. Als de cookie bestaat, stuur dan een reactie op het verzoek en gebruik de cookiewaarde om de klant te begroeten. Als de cookie niet bestaat, maken we een nieuw cookie-object en voegen dit toe aan de verzameling HttpServletResponse.cookies. De eerste parameter met naam en waarde wordt gebruikt om de cookienaam en de bijbehorende waarde op te geven. Tegelijkertijd wordt het expires-attribuut gebruikt om de vervaltijd van de cookie aan te geven, waarbij de huidige tijd plus 15 minuten als vervaltijd wordt opgegeven. Ten slotte voegen we een welkomstbericht toe aan de inhoud van de retourwaarde.
erfenis relatie
Constructeur
HttpCookie
HttpCookie-constructor, creëert een nieuw HttpCookie-object
1new HttpCookie(Object opts = {});
Oproepparameters:
- opts: Object, specificeert de eigenschappen van de gemaakte cookie
De opties die opts kunnen instellen zijn als volgt:
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-constructor, creëert een nieuw HttpCookie-object
1
2
3new HttpCookie(String name,
String value,
Object opts = {});
Oproepparameters:
- name: String, specificeert de naam van de gemaakte cookie
- value: String, specificeert de gemaakte cookiewaarde
- opts: Object, specificeer andere kenmerken van de gemaakte cookie
De opties die opts kunnen instellen zijn als volgt:
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
}
eigenschappen van leden
name
Tekenreeks, query en cookienaam instellen
1String HttpCookie.name;
value
Tekenreeks, query en stel cookiewaarden in
1String HttpCookie.value;
domain
String, domeinnaambereik voor het opvragen en instellen van cookies
1String HttpCookie.domain;
path
Tekenreeks, query en stel het cookiepadbereik in
1String HttpCookie.path;
expires
Datum, opvragen en instellen van de vervaltijd van de cookies
1Date HttpCookie.expires;
httpOnly
Boolean, opvragen en instellen of cookies alleen zijn toegestaanhttpVerzoek, standaard onwaar
1Boolean HttpCookie.httpOnly;
secure
Booleaans, opvragen en instellen of cookies alleen via https worden doorgegeven, standaard false
1Boolean HttpCookie.secure;
lid functie
parse
Parseer de gegeven string en vul het cookie-object in
1HttpCookie.parse(String header);
Oproepparameters:
- header: String, specificeert de headertekenreeks die moet worden geparseerd
match
Test het gegevenurlKomt het overeen met de huidige instellingen?
1Boolean HttpCookie.match(String url);
Oproepparameters:
- url: String, die de test specificeerturl
Resultaten retourneren:
- Boolean, retourneert true als de match succesvol is
toString
Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.
1String HttpCookie.toString();
Resultaten retourneren:
- String, retourneert de tekenreeksrepresentatie van het object
toJSON
Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.
1Value HttpCookie.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat