nodejs系列:51.cookie-中篇

77 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情

系列介绍

该系列主要是介绍一些nodejs相关的基础知识,没有什么特别难的知识点,都是一些比较基础知识点。大家学习起来,也会比较容易理解和接收。

这些知识点,也是以前自己学习nodejs的时候,学习过的知识点。有些知识点,可能是由于学习的时间比较久了,也有可能是平时工作中用到的机会比较少,也差不多快把它们都忘记掉了。现在把它们都写下来,写成文章,一方面是记录下自己以前学习的nodejs知识点,一方面也是复习巩固自己以前学习的nodejs知识点。不要学着学着,就把以前的知识点都忘光了。

环境安装

实现之前,你首先需要安装nodejs环境。因为我们写的代码需要在node环境上运行,如果你没有,那么文件会运行不了。

以下是nodejs的安装地址,如果你没有安装的话,可以先把它安装上。安装了可以忽略这一步,跳到下面一步。

nodejs安装

前言

在上一篇文章里nodejs系列:50.cookie-上篇,主要是介绍了cookie的一些相关定义。

同时,也通过一个小示例,演示了怎么在服务器端设置cookie。接下来,继续介绍一下,怎么在服务器端设置cookie的相关操作。

cookie

我们先看一下cookie的定义

Cookie 并不是它的原意“甜饼”的意思, 而是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。由于“Cookie”具有可以保存在客户机上的神奇特性, 因此它可以帮助我们实现记录用户个人信息的功能, 而这一切都不必使用复杂的CGI等程序

这是百度百科上面的介绍,我们可以从里面提取出一些关键信息

  • 文本文件
  • 记录用户的个人信息功能

这两点,就是cookie的两大特点。特别是后面这一点,记录用户的个人信息。有时候,我们会把一些个人信息存放到cookie里,就正是利用了cookie这一特点来做的。

实现

在上一篇文章里,我们介绍了怎么在服务器端设置cookie

 res.setHeader("Set-Cookie", "name=alin");

通过设置响应头的Set-Cookie字段,就可以设置cookie了。

设置完cookie后,我们打开浏览器,访问服务器地址。

在控制台的Application页签下,我们就可以查看到我们设置的cookie了。

0002.png

现在我们可以看到,cookie设置上了,并且被保存了。

现在只是设置了单个的cookie字段,但在我们开发的时候,单个cookie字段,不一定能满足我们的业务需求。这就需要设置多个cookie字段了。

如果想要设置多个cookie字段,要怎么设置呢?

我们到nodejs官网查看一下,看一下要怎么设置

我们查看文档,找到response.setHeader

找到setHeader这个api,刚好就可以看到官网提供的示例


response.setHeader('Set-Cookie', ['type=ninja', 'language=javascript']);

Use an array of strings here to send multiple headers with the same name.这是官网给的信息,翻译成中文,意思是可以设置cookie时,传递一个字符串数组,来设置多个cookie。

我们知道怎么设置多个cookie,接下来就开始尝试一下设置多个cookie。

在index.js文件里,我们修改一下代码


res.setHeader("Set-Cookie", [
      "name=alin",
      "age=18",
      "sex=man",
    ]);

修改好了,在cmd里,用node重新运行index.js文件。

0001.png

服务器重新启动后,我们在浏览器里,刷新页面。再到浏览器控制台里,查看cookie

0003.png

这时,我们可以看到,设置了多个cookie字段了。

小结

本小节,主要介绍了怎么在服务器端里设置多个cookie字段。

最后,放上自己比较喜欢的一句诗句:

千淘万漉虽辛苦,吹尽狂沙始到金 - 唐 刘禹锡《浪淘沙》