ObjectHttpCookie
HttpCookie ist ein vom HTTP-Protokoll gekapseltes Cookie-Objekt. Es bietet verschiedene Attribute zum Abrufen und Setzen von Cookies. Es unterstützt auch die Organisation und Verarbeitung mehrerer Cookies. Das ist eshttp.RequestUndhttp.ResponseEine wichtige Eigenschaft, die von beiden Objekten unterstützt wird
Auf der Serverseite können Sie passenHttpRequest.cookiesum alle Cookies in der HTTP-Anfrage abzurufen. Jedes Cookie hier ist ein HttpCookie-Objekt, und Cookie-bezogene Informationen können über seine Eigenschaften oder Methoden abgerufen oder festgelegt werden. Beispielsweise können wir die entsprechenden Attribute aus dem vom Client gesendeten Cookie über den folgenden Code lesen:
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 verwenden wirHttpRequest.cookiesDie Eigenschaft ruft alle Cookies in der Anfrage ab. Verwenden Sie dann die Methode „cookies.get“ und übergeben Sie den Namen des Cookies, um den Wert des Cookies abzurufen.
Um ein Cookie an den Client zu senden, erstellen Sie über das HttpCookie-Objekt ein neues Cookie und fügen Sie es der HttpReponse.cookies-Sammlung hinzu. Hier ist ein Beispiel:
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();
Im obigen Beispiel rufen wir zunächst HttpServletRequest.cookies ab und versuchen dann, daraus den Wert des Cookies namens name zu lesen. Wenn das Cookie vorhanden ist, senden Sie eine Antwort auf die Anfrage und verwenden Sie den Cookie-Wert, um den Client zu begrüßen. Wenn das Cookie nicht vorhanden ist, erstellen wir ein neues Cookie-Objekt und fügen es der HttpServletResponse.cookies-Sammlung hinzu. Der erste Parameter mit Name und Wert wird verwendet, um den Cookie-Namen und den entsprechenden Wert anzugeben. Gleichzeitig wird über das Expires-Attribut die Ablaufzeit des Cookies angegeben. Als Ablaufzeit wird hier die aktuelle Zeit plus 15 Minuten angegeben. Abschließend fügen wir dem Inhalt des Rückgabewerts eine Willkommensnachricht hinzu.
Erbschaftsverhältnis
Konstrukteur
HttpCookie
HttpCookie-Konstruktor, erstellt ein neues HttpCookie-Objekt
1new HttpCookie(Object opts = {});
Aufrufparameter:
- opts: Objekt, gibt die Eigenschaften des erstellten Cookies an
Die Optionen, die opts festlegen können, sind wie folgt:
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-Konstruktor, erstellt ein neues HttpCookie-Objekt
1
2
3new HttpCookie(String name,
String value,
Object opts = {});
Aufrufparameter:
- name: String, gibt den Namen des erstellten Cookies an
- value: String, gibt den erstellten Cookie-Wert an
- opts: Objekt, geben Sie andere Attribute des erstellten Cookies an
Die Optionen, die opts festlegen können, sind wie folgt:
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
}
Mitgliedereigenschaften
name
String, Abfrage und Cookie-Name festlegen
1String HttpCookie.name;
value
String-, Abfrage- und Cookie-Werte festlegen
1String HttpCookie.value;
domain
String, Domain-Namensbereich zum Abfragen und Setzen von Cookies
1String HttpCookie.domain;
path
Zeichenfolge, Abfrage und festgelegter Cookie-Pfadbereich
1String HttpCookie.path;
expires
Datum, Abfrage und festgelegte Cookie-Ablaufzeit
1Date HttpCookie.expires;
httpOnly
Boolescher Wert, abfragen und festlegen, ob nur Cookies erlaubt sindhttpAnfrage, Standardeinstellung: false
1Boolean HttpCookie.httpOnly;
secure
Boolescher Wert, Abfrage und Festlegung, ob Cookies nur über https weitergeleitet werden, Standardwert „false“.
1Boolean HttpCookie.secure;
Mitgliedsfunktion
parse
Analysieren Sie die angegebene Zeichenfolge und füllen Sie das Cookie-Objekt
1HttpCookie.parse(String header);
Aufrufparameter:
- header: String, gibt den Header-String an, der analysiert werden muss
match
Testen Sie das GegebeneurlEntspricht es den aktuellen Einstellungen?
1Boolean HttpCookie.match(String url);
Aufrufparameter:
- url: String, der den Test angibturl
Rückgabeergebnisse:
- Boolean, gibt true zurück, wenn die Übereinstimmung erfolgreich ist
toString
Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.
1String HttpCookie.toString();
Rückgabeergebnisse:
- String, gibt die Zeichenfolgendarstellung des Objekts zurück
toJSON
Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.
1Value HttpCookie.toJSON(String key = "");
Aufrufparameter:
- key: Zeichenfolge, nicht verwendet
Rückgabeergebnisse:
- Value, gibt einen Wert zurück, der JSON serialisierbar enthält