1

cookie属性

  1. 通过Set-Cookie设置
  2. 下次请求会自动带上
  3. 键值对,可以设置多个
  4. max-age和expires设置过期时间
  5. Secure只有在https的时候发送
  6. HttpOnly无法通过document.cookie访问

文件内容

clipboard.png

server.js
const http = require('http');
const fs = require('fs');
http.createServer(function(req, res) {
    console.log('request come', req.url);
    if (req.url === '/') {
        const html = fs.readFileSync('test.html', 'utf8');
        res.writeHead(200, {
            "Content-Type": "text/html",
            'Set-Cookie':'id=123'
        })
        res.end(html)   
    }
}).listen(8888)
console.log('server start at port 8888')
test.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        console.log(document.cookie)
    </script>
</body>
</html>

运行

控制台打印

clipboard.png

network

  1. 第一次请求只有响应头有cookie
  2. 第二次以后请求头会带上cookie

clipboard.png

clipboard.png

设置多个cookie

server.js
'Set-Cookie':['id=123','abc=456']

clipboard.png

设置过期时间

server.js
'Set-Cookie': ['id=123;max-age=2000','abc=456']

clipboard.png

clipboard.png

httpOnly

server.js
'Set-Cookie': ['id=123;max-age=2000','abc=456;httpOnly=true']

clipboard.png

二级域名共享cookie

server.js
'Set-Cookie': ['id=123;max-age=2000','abc=456;httpOnly=true;domain=test.com']

渣渣辉
1.3k 声望147 粉丝