028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Cookie+Session登入-创新互联

Cookie + Session 登入

在讲Cookie + Session 登入前,我们应该先来了解一下,为什么会有这两个东西:

成都创新互联2013年至今,先为丹棱等服务建站,丹棱等地企业,进行企业商务咨询服务。为丹棱企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

因为HTTP 是一种無狀態 (stateless) 的协议,所以每次请求都是獨立的,伺服器端无法判断本次请求和上一次请求是否来自同一个使用者,进而也就无法判断使用者的登入状态。

那你可能会好奇,那为什么要無狀態 (stateless) 的協議?你要想如果我们需要存储大量的使用者状态,就会造成很大的伺服器端维护成本,所以如果可以客户端、伺服器、资料库都不去储存使用者状态,那不是很棒?所以 無狀態 (stateless) 的協議 就诞生了

这边举个网路上普遍的例子:Cookie 就是會員卡,浏览器可以透过Cookie 去知道使用者状态,就好像会员卡能知道你的购买记录一样

简单来说,就是伺服器透过 Header 的属性Set-Cookie,把使用者的状态纪录成储存在使用者电脑里的Cookie,而浏览器在每一次发送请求时,都在 Header 中设定 Cookie 属性,把 Cookie 自动带上,伺服器就能藉由检视 Cookie 的内容,得知浏览器使用者的状态

前面有提到 Header 能够透过 Set-Cookie 把使用者的状态纪录成储存在使用者电脑里的 Cookie 那我们现在来看一下Set-Cookie 的内容跟一些可客制化的属性:

// 取得当前的 cookie
console.log(document.cookie)

// 写入 cookie,myName 栏位写入 jan
document.cookie = 'myName=jan'

// 写入 cookie,并加入过期时间
document.cookie="myName=jan; expires=Mon, 04 Dec 2017 08:18:32 GMT; path=/"

// 写入 cookie,设定 10 秒后失效

Cookie + Session 登入

扯了这么多,回到登入部分,使用Cookie + Session 登入的流程大概是:

  1. client端发送一个http request 到server 端

  1. server 接到request 后,建立一个session,并传送一个http response 回client端,而这个response 包括Set-cookie 的header,里面存有sessionID。

  1. 当client端发出第二次request 后,若server 给了Set-cookie,浏览器会自动在request 中加入cookie。

  1. server 接受request,解析并验证cookie,若验证成功就回传response 给client 端;失败则回除错误码。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页题目:Cookie+Session登入-创新互联
当前URL:http://www.tsicrk.com/article/cdieej.html

其他资讯

让你的专属顾问为你服务

1.6054s