ObjectHttpCookie
HttpCookie è un oggetto cookie incapsulato dal protocollo HTTP. Fornisce vari attributi per ottenere e impostare cookie. Supporta inoltre l'organizzazione e l'elaborazione di più cookie. Èhttp.RequestEhttp.ResponseUna proprietà importante supportata da entrambi gli oggetti
Lato server, puoi passareHttpRequest.cookiesper ottenere tutti i cookie nella richiesta HTTP. Ogni cookie qui è un oggetto HttpCookie e le informazioni relative ai cookie possono essere ottenute o impostate tramite le sue proprietà o metodi. Ad esempio, possiamo leggere gli attributi corrispondenti dal cookie inviato dal client tramite il seguente codice:
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();
Qui usiamoHttpRequest.cookiesLa proprietà riceve tutti i cookie nella richiesta. Quindi utilizzare il metodo cookies.get, passando il nome del cookie, per ottenere il valore del cookie.
Per inviare un cookie al client, crea un nuovo cookie tramite l'oggetto HttpCookie e aggiungilo alla raccolta HttpReponse.cookies. Ecco un esempio:
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();
Nell'esempio precedente, otteniamo prima HttpServletRequest.cookies e poi proviamo a leggere da esso il valore del cookie denominato name. Se il cookie esiste, invia una risposta alla richiesta e utilizza il valore del cookie per salutare il client. Se il cookie non esiste, creiamo un nuovo oggetto cookie e lo aggiungiamo alla raccolta HttpServletResponse.cookies. Il primo parametro con nome e valore viene utilizzato per specificare il nome del cookie e il valore corrispondente. Allo stesso tempo, l'attributo scade viene utilizzato per specificare l'ora di scadenza del cookie, dove come ora di scadenza viene indicata l'ora attuale più 15 minuti. Infine, aggiungiamo un messaggio di benvenuto al contenuto del valore restituito.
rapporto ereditario
Costruttore
HttpCookie
Il costruttore HttpCookie crea un nuovo oggetto HttpCookie
1new HttpCookie(Object opts = {});
Parametri di chiamata:
- opts: Oggetto, specifica le proprietà del cookie creato
Le opzioni che opts può impostare sono le seguenti:
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
}
Il costruttore HttpCookie crea un nuovo oggetto HttpCookie
1
2
3new HttpCookie(String name,
String value,
Object opts = {});
Parametri di chiamata:
- name: String, specifica il nome del cookie creato
- value: String, specifica il valore del cookie creato
- opts: Oggetto, specifica altri attributi del cookie creato
Le opzioni che opts può impostare sono le seguenti:
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
}
proprietà dei membri
name
Stringa, interroga e imposta il nome del cookie
1String HttpCookie.name;
value
Stringa, interroga e imposta i valori dei cookie
1String HttpCookie.value;
domain
Stringa, intervallo di nomi di dominio per l'interrogazione e l'impostazione dei cookie
1String HttpCookie.domain;
path
Stringa, interroga e imposta l'intervallo del percorso del cookie
1String HttpCookie.path;
expires
Data, query e impostazione della scadenza dei cookie
1Date HttpCookie.expires;
httpOnly
Booleano, interroga e imposta se sono consentiti solo i cookiehttpRichiesta, valore predefinito falso
1Boolean HttpCookie.httpOnly;
secure
Booleano, interroga e imposta se i cookie vengono passati solo tramite https, default false
1Boolean HttpCookie.secure;
funzione membro
parse
Analizza la stringa data e compila l'oggetto cookie
1HttpCookie.parse(String header);
Parametri di chiamata:
- header: String, specifica la stringa di intestazione che deve essere analizzata
match
Metti alla prova il datourlCorrisponde alle impostazioni attuali?
1Boolean HttpCookie.match(String url);
Parametri di chiamata:
- url: stringa, che specifica il testurl
Risultati restituiti:
- Boolean, restituisce vero se la corrispondenza ha esito positivo
toString
Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.
1String HttpCookie.toString();
Risultati restituiti:
- String, restituisce la rappresentazione di stringa dell'oggetto
toJSON
Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.
1Value HttpCookie.toJSON(String key = "");
Parametri di chiamata:
- key: Stringa, non utilizzata
Risultati restituiti:
- Value, restituisce un valore contenente JSON serializzabile