cookie

1.form表单的数据是一段一段上传的;
可以用以下方法在服务器端获得请求体

let body = [];
    request.on('data', (chunk) => {
      body.push(chunk);
    }).on('end', () => {
      body = Buffer.concat(body).toString();
      // at this point, `body` has the entire request body stored in it as a string
      console.log(body);
      response.statusCode = 200;
      response.end();
    });

2.浏览器第一次发送请求后,服务起会返回一个cookie,在这之后,浏览器每次访问同源发出的请求都会携带者这段cookie。这段cookie相当于身份证。并且由期限;
cookies特点:
1.服务器通过Set-Cookie响应头设置Cookie
2.浏览器得到Cookie之后,每次请求都要带上Cookie
3.服务器读取了Cookie就知道了用户的信息。

问题:

我在 Chrome 登录了得到 Cookie,用 Safari 访问,Safari 会带上 Cookie 吗
no
Cookie 存在哪
Windows 存在 C 盘的一个文件里
Cookie会被用户篡改吗?
可以,下节课会讲 Session 来解决这个问题,防止用户篡改
Cookie 有效期吗?
默认有效期20分钟左右,不同浏览器策略不同
后端可以强制设置有效期,具体语法看 MDN
Cookie 遵守同源策略吗?
也有,不过跟 AJAX 的同源策略稍微有些不同。
当请求 qq.com 下的资源时,浏览器会默认带上 qq.com 对应的 Cookie,不会带上 baidu.com 对应的 Cookie
当请求 v.qq.com 下的资源时,浏览器不仅会带上 v.qq.com 的Cookie,还会带上 qq.com 的 Cookie
另外 Cookie 还可以根据路径做限制,请自行了解,这个功能用得比较少。


不同浏览器有不同的cookie
cookie有两个,一个在本地一个在浏览器
cookie有时间的限制(默认是20分钟左右,后端可以强制修改有效时间)

这里写图片描述

过程

1.用户注册,.post()post2.post()发出post请求。服务器检查数据无误后将数据存入数据库;2用户登录,.post()发出post请求。服务器对比用户提交的数据与数据库中的数据,确认一样后返回一个cookie给浏览器。
3.此后用户从浏览器发出的每次请求都会携带这段cookie,并且服务器通过检查这段cookie来确认是不是该用户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值