美文网首页全栈记
网络04 cookie存储

网络04 cookie存储

作者: 官清岁月 | 来源:发表于2019-05-10 18:27 被阅读0次

    应用场景:(1).用户二次登录某网站,不需要再次输入用户名/密码;(2).服务器会根据对用户身份的标识返回定制化的页面来提升用户体验;- > 底层原理:服务器可识别用户身份(只有cookie可做到)

    - - - >> 标识用户身份浏览器以及服务器都不能有效做到,才诞生了cookie;

    1、标识用户身份:

    (1).浏览器历史记录:其只能记录用户曾经访问过的网页,并不记录用户信息

    (2).web应用程序是通过HTTP协议传输数据的,HTTP协议是无状态的协议,数据交换完毕,客户端与服务器端的连接就会关闭;再次交互数据需建立新的连接,服务器无法从连接上来记录跟踪会话,所以才会有了cookie

    (3).请求报文中的请求头:[1].form: e-mail;//该属性header部分基本不再使用,防止服务器恶意收集邮箱地址,发送垃圾邮件;[2].user-agent://BOM中提到过,浏览器发送请求过程中会将其发送给服务器,其内包含浏览器绝大部分信息,与用户联系不大;[3].referer://请求头中的属性,标识从那个网页跳转到该网页,主要功能是流量统计,无法确定是那个用户操作;

    (4).客户端IP地址:IP地址描述的是机器的物理地址,并非是用户的地址,而且IP地址是动态更改的,难以标识用户的身份;[请求报文请求头中没有相关属性,通过TCP连接可轻松获得IP地址];

    (5).用户登录:用户需要再次输入用户名/密码,以此来标识用户信息;// 用户体验不好

    (6).胖URL:其会对原有URL进行扩展,访问网站的时候会扩展一些唯一标识的参数(扩展的参数可放URL前面,也可放后面,一般都放置到后面),往往扩展参数较多,容易对浏览器形成负载,而且其的生存周期仅为窗口打开的时候;

    (7).cookie;

    2、cookie:

    (1).其是由服务器端生成,发送给User-Agent(浏览器),浏览器会将cookie以key/value的形式保存在本地.txt文本文件中,不同浏览器的cookie文件存放内容形式有所差异,并且同一浏览器会将所有访问过网站的cookie都存放在同一cookie文件中;

    (2).cookie的位置:本地C盘users/cookie.txt;控制台上Application上也可查看cookie;//右键单击清除

    (3).cookie包含的信息不仅仅是用户名/密码,主要是标识用户信息即可,由于cookie可以手动操作,不建议存入敏感信息,有安全隐患

    (4).cookie使用流程(系统实现):

    首次用户访问某网页,服务器端会生成cookie,返回网页的时候将其发送给浏览器,浏览器存储在本地;第二次用户访问同一网页时,浏览器端发送请求时会把cookie也一起发送给服务器端,服务器端根据cookie信息返回为用户定制化服务的网页;cookie中存放用户访问所有网页的cookie信息,访问某网页,传输该网页的cookie值即可,不用将所有cookie都传输]

    3、cookie的特点

    (1).cookie内存大小受限制,一般为4kb;(标识用户信息,浏览器对其有限制,否则传输数据太多,影响性能)

    (2).cookie具有保质期:临时/长久;

    (3).cookie满足同源策略:聚焦点:document.domain;

    [1].Domain:基础域;//表示该域名以及子域名都可以使用该cookie值,但父域名拿不到子域名的cookie值,而且同级域名不能互相拿到cookie值;//zhidao.baidu.com可拿到baidu.com的cookie,但baidu.com不能拿到zhidao.baidu.com; 同时zhidao.baidu.com和wenku.baidu.com不能互相访问cookie值;特殊:www.baidu.com可拿到baidu.com的cookie值,其是baidu.com的子域名

    [2].Path:路径;//如果一个是/web,一个是/dir;其表示不同文件夹下的cookie值,不能相互拿到cookie值,一般都是/,表示根目录; -> 区别于浏览器同源策略,其不关注路径,只关注协议域名端口号

    [3].Expires/Max-Age;//cookie存储时间的两个版本;//max-age:1000;//设置1000秒;expires设置的时间必须是时-分-秒;session://表示临时,存储周期只在当前窗口,窗口关闭便消失

    [4].Size:大小;

    4、操作cookie:

    (1).cookie的使用过程都是浏览器、服务器进行自行操作;//但由于其存储在本地,前端也需要对其进行基本操作;//例如:用户名、密码不需要用户再次输入;底层原理:前端需要拿到cookie值,将其赋值给input输入框的value值即可

    (2).关于cookie的基本操作;(ookie实际上主要是web服务器开发人员设置的,前端开发人员较少使用cookie)

    封装操作cookie的函数:

    相关文章

      网友评论

        本文标题:网络04 cookie存储

        本文链接:https://www.haomeiwen.com/subject/rqtffqtx.html