网络交互请求的本质:
网络交互是什么?体现在什么?
这两个问题一直在我写网站前端的时候总是出现却又总是摸不到头脑,在慢慢的写完后端,
搭建完了网关服务后,突然明白网络交互无非就是权限的控制。
当我的网站没有人登陆的时候,展示的是默认index,index中的user这一栏显示登陆两字,
当有人登陆后,仅是把登陆两字改成了用户名,其余数据基本没变;
那么登陆后又多出来了什么呢?
多出个人后台管理页面;说到底这只是一个html页面,但是在没有登陆的时候用户无法获取这个html,只有在登陆后才能获取到这个html;
这里的登陆就靠url+后端数据反馈+token加密+缓存实现;
当用户输入登陆数据,通过json我得到了用户数据,并且处理完后生成一个url片段,类似于
"/user/passwd/ "+ /html/user.html
前面的"/user/passwd"是程序从数据库验证后得到的字符串,而后边的这是服务器上user.html页面的地址
这样后端就能得到一个用户地址数据,当我们把这个数据添加上域名形成:
www.test.com/user/passwd/html/user.html 的一个完整地址
最后返回这个地址给到用户,用户就能跳转到这个网页,
而token的作用呢?是为了加密中间的数据,所以在网站上登陆个人信息,能在url上看到用户名却看不到密码
那么如何限制用户登陆呢?不能让用户登陆一次就永久展示登陆状态吧,
token也解决了这个问题,token加密是有时效性的,时间由服务端设定,即使用户由缓存,当过时后token密匙变了,用户也会推出登陆状态
同样的,在时间范围内,浏览器的缓存会缓存下用户登陆的token,所以在时间范围内允许客户登陆操作;
而交互,无非就是让用户获得一个文件地址的访问权限,权限的控制来源于token+地址,地址提供基本路径,而token验证密码;
而网页数据的变化,无非就是读取用户存在数据库的个人数据通过js/jq等形式改变html内容为数据库内容而已;