通常咱们要求用户在设置密码的时候,得包括大小写字母、数字、或者特殊的字符,从而提升密码的复杂度,不容易被破译。数据库
目的:后端
进行提早校验是为了减小向服务器发送非必要的请求,从而减小服务器的压力。浏览器
防止非正经常使用户进行恶意攻击服务器的代码,须要咱们作一层安全的优化。缓存
1.MD5加密 全部的信息在传输的过程都是明文传输,因此对有些比较敏感的数据须要进行加密。安全
2.获取用户名和密码后,经过post请求,把信息发送给服务器。服务器
咱们对比一下POST和GET请求之间的区别:markdown
服务器把信息返回给客户端的时候,会把SID基于响应头Set-Cookie传递给客户端。浏览器会自动将服务器返回的SID种植在当前cookie中,此cookie不能被修改,过时时间和服务器的SESSION保存一致。以便再次请求携带该标识。 cookie
对比一下cookie和Webstorage之间的区别session
一个字母就是一个字节,一个中文汉字占2字节
ctrl+shift+n
当因为某种缘由退出登陆的时候,浏览器会再次向服务器发送请求,告知退出登陆,服务器会把以前在SESSION中的SID和用户的信息清除掉,浏览器并弹出登陆页面。登陆态消失。浏览器和服务器通讯结束。post
浏览器经过发送post请求,在请求主体中携带用户名和密码,发送给服务器,从而服务器校验该用户在以前是否注册过。
把获取到的信息到数据库中进行查找匹配,看是否有符合条件的数据,做相应的处理,并返回给客户端浏览器。
有俩种校验方式,来验证是否为该用户。
第一次登陆成功后,在本地浏览器的cookie存储了用户登陆的基本信息和登陆态的标识。 关闭当前浏览器又再次进入该项目index页面的时候或者进入到当前项目其余页面的时候,首先查看一下本地是否存在这个标识,若是存在则标识登陆了,直接返回给相应的信息
客户端再次向服务器发送请求的时候,浏览器会把cookie中的sid经过请求头中SID传递给服务器,服务器接收到SID后 再次到SESSION中查找匹配。在cookie被清除的时候,登陆态都会失败,须要从新登陆。再次创建当前浏览器和服务器之间的惟一标识SID。 客户端想知道该用户是否登陆,须要向服务器发送请求进行校验。只要不是用户正常退出登陆和其余方式的退出,在浏览器本地cookie和服务器SESSION中SID的过时时间尚未过,就会自动登陆。
退出后再次登陆,会再次开启浏览器和服务器之间的通讯。
登陆态:所谓登陆态就是浏览器和服务器之间通讯的惟一标识。