ObjetHttpCookie
HttpCookie est un objet cookie encapsulé par le protocole HTTP. Il fournit divers attributs pour l'obtention et le paramétrage des cookies. Il prend également en charge l'organisation et le traitement de plusieurs cookies. Il esthttp.Requestethttp.ResponseUne propriété importante supportée par les deux objets
Côté serveur, vous pouvez passerHttpRequest.cookiespour obtenir tous les cookies dans la requête HTTP. Chaque cookie ici est un objet HttpCookie et les informations relatives aux cookies peuvent être obtenues ou définies via ses propriétés ou méthodes. Par exemple, nous pouvons lire les attributs correspondants du cookie envoyé par le client via le code suivant :
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();
Ici, nous utilisonsHttpRequest.cookiesLa propriété obtient tous les cookies dans la demande. Utilisez ensuite la méthode cookies.get, en passant le nom du cookie, pour obtenir la valeur du cookie.
Pour envoyer un cookie au client, créez un nouveau cookie via l'objet HttpCookie et ajoutez-le à la collection HttpReponse.cookies. Voici un exemple:
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();
Dans l'exemple ci-dessus, nous obtenons d'abord HttpServletRequest.cookies, puis essayons d'y lire la valeur du cookie nommé name. Si le cookie existe, envoyez une réponse à la demande et utilisez la valeur du cookie pour saluer le client. Si le cookie n'existe pas, nous créons un nouvel objet cookie et l'ajoutons à la collection HttpServletResponse.cookies. Le premier paramètre avec nom et valeur est utilisé pour spécifier le nom du cookie et la valeur correspondante. Dans le même temps, l'attribut expires est utilisé pour spécifier l'heure d'expiration du cookie. Ici, l'heure actuelle plus 15 minutes est spécifiée comme heure d'expiration. Enfin, nous ajoutons un message de bienvenue au contenu de la valeur de retour.
relation d'héritage
Constructeur
HttpCookie
Constructeur HttpCookie, crée un nouvel objet HttpCookie
1new HttpCookie(Object opts = {});
Paramètres d'appel :
- opts: Objet, précise les propriétés du cookie créé
Les options que les optants peuvent définir sont les suivantes :
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
}
Constructeur HttpCookie, crée un nouvel objet HttpCookie
1
2
3new HttpCookie(String name,
String value,
Object opts = {});
Paramètres d'appel :
- name: String, précise le nom du cookie créé
- value: String, spécifie la valeur du cookie créé
- opts: Objet, spécifiez d'autres attributs du cookie créé
Les options que les optants peuvent définir sont les suivantes :
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
}
propriétés des membres
name
Chaîne, requête et définition du nom du cookie
1String HttpCookie.name;
value
Chaîne, requête et définition des valeurs des cookies
1String HttpCookie.value;
domain
Chaîne, plage de noms de domaine pour l'interrogation et la configuration des cookies
1String HttpCookie.domain;
path
Chaîne, requête et définition de la plage du chemin des cookies
1String HttpCookie.path;
expires
Dater, interroger et définir l'heure d'expiration des cookies
1Date HttpCookie.expires;
httpOnly
Booléen, interroger et définir si les cookies sont uniquement autoriséshttpDemande, faux par défaut
1Boolean HttpCookie.httpOnly;
secure
Booléen, interroge et définit si les cookies sont uniquement transmis via https, faux par défaut
1Boolean HttpCookie.secure;
fonction membre
parse
Analyser la chaîne donnée et remplir l'objet cookie
1HttpCookie.parse(String header);
Paramètres d'appel :
- header: String, spécifie la chaîne d'en-tête qui doit être analysée
match
Testez le donnéurlEst-ce que cela correspond aux paramètres actuels ?
1Boolean HttpCookie.match(String url);
Paramètres d'appel :
- url: Chaîne, spécifiant le testurl
Résultats de retour :
- Boolean, renvoie vrai si la correspondance est réussie
toString
Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.
1String HttpCookie.toString();
Résultats de retour :
- String, renvoie la représentation sous forme de chaîne de l'objet
toJSON
Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.
1Value HttpCookie.toJSON(String key = "");
Paramètres d'appel :
- key: Chaîne, non utilisée
Résultats de retour :
- Value, renvoie une valeur contenant du JSON sérialisable