注册过程中经历的步骤和过程有以下几点:
1.用户输入正确格式的邮箱、用户名和密码并点击注册。
2.前端页面判断用户输入的信息的格式是否正确和合法。
3.客户端把这些信息提交至服务器端,服务器获取全部内容并提取需要的信息。
4.服务器端对这些信息进行再次的判断,判断用户输入的信息的格式是否正确和合法,以及与数据库中的已有信息作比较,判断相关信息是否已经被注册。
5.若判断后发现没有问题,则返回客户端HTTP状态码200表示注册成功,并把新注册用户的信息写入数据库内,若发现问题,则返回HTTP状态码400和对应的错误信息表示注册失败。
登录过程中经历的步骤和过程有以下几点:
1.用户输入正确格式的用户名和密码并点击登录。
2.前端页面判断用户输入的信息的格式是否正确和合法。
3.客户端把这些信息提交至服务器端,服务器获取全部内容并提取需要的信息。
4.服务器端对这些信息进行再次的判断,判断用户输入的信息的格式是否正确和合法,并与数据库中的已注册账户信息进行核对,看看对应的用户名和密码是否相等。
5.若核对发现信息相等,则设置Cookie,并返回客户端HTTP状态码200表示注册成功,若核对失败,则返回HTTP状态码401和对应的错误信息表示注册失败。
6.客户端若收到401状态码,则提示用户登录失败,并展示对应错误信息,若收到200状态码,则带上收到的Cookie对首页的url发起请求。
7.服务器收到请求后解析请求所携带的Cookie,提取出Cookie所包含的用户的信息。
8.把首页中的部分公共信息更替为该用户自己的个人信息,并把更替好的内容返回给客户端。
9.客户端向用户展示返回的内容。
这里值得说明的是,前端可以不判断和验证注册以及登录的内容,但是后端必须要添加验证,因为用户可以通过在命令行使用curl发送请求,这样会跨过浏览器的验证,因此后端的验证是必须要存在的。
Cookie:
Cookie的作用就是识别用户的身份,Cookie里面含有用户的一些个人信息。其实Cookie还有另外一个作用,就是记录历史,一些购物网站的购物车就是应用了这个作用。
关于Cookie的定义,我这里选择摘录方应杭老师在知乎上的说法:
1. Cookie 是浏览器访问服务器后,服务器传给浏览器的一段数据。
2. 浏览器需要保存这段数据,不得轻易删除。
3. 此后每次浏览器访问该服务器,都必须带上这段数据。
而Cookie有着以下的特点:
1.服务器通过set-Cookie响应头设置Cookie。
2.浏览器得到Cookie之后,每次请求都要带上Cookie。
3.服务器读取Cookie就知道登录用户的信息(例如email、用户名等)。
另外,Cookie是存在有效期的,默认是20分钟左右,之所以说左右,是因为具体时间由浏览器自动决定,但是后端可以强制设置Cookie的有效期,设置方法请读者自行查看Set-Cookie MDN
最后,Cookie是可以修改的,因此存在着很大的安全隐患,需要通过一些手段来保证它的安全性。还有退出登录的方法就是清除相关的cookies和session,这些内容需要读者自行去搜索,在这里就不再做详细叙述了。
参考链接:
- https://www.jianshu.com/p/58760ef27acd 作者:宣泽彬 来源:简书