当前位置: 首页 > 网络应用技术

新的风向丨点击隐藏在小程序cookie中的秘密

时间:2023-03-06 21:38:52 网络应用技术

  Cookie的字面翻译实际上是“小甜蛋糕”。但是在互联网世界中,Cookie是网络开发中常用的数据存储和会话跟踪技术。

  饼干机制在Applet的发展方面也有很大的需求。但是,大多数主流小程序平台不支持cookie机制,这使开发人员通过applet的本地缓存模拟cookie的效果。但是这种方法并不完美,有很多问题。

  这是每个人的以下两种流行方法!

  使用小程序数据缓存能力模拟cookie只能满足基本需求,而开发人员负担很大。

  常见操作是封装开发人员的请求请求,删除需要从接口响应中保存的值,然后将其保存在本地缓存存储中。每个接口请求,然后将相关数据从存储中读取到请求标头或主体。要模拟cookie的效果。

  1.增加开发人员的手动维护负担

  2.降低迷你程序性能

  //发送请求tt.request({data:{param1,param2,// ...});

  //视频请求想标记这样的用户吗?

  ``##使用第三-party库>社区中的一些第三方库支持Applet的Cookie机制。尽管很方便,但存在诸如性能,安全性,兼容性等问题。tt.uploadfile,tt.Downloadfile和其他API,添加自动分析并添加CookieOperation消除了开发人员管理Cookie的负担。

  与具有第三方库的手动管理相比,它具有一定的优势:

  但是,第三方库的cookie实现仍基于applet的本地缓存,并且仍然存在许多缺点:

  3.无法支持网络请求方法,例如视频,音频,实时播放器,tt.previewimage;

  4.跨平台框架,例如Uni-App,Taro和其他跨平台框架可能需要适应第三方库的兼容性,否则将不使用;

  5.安全问题,如果有恶意的第三方框架,您可以得到/修改cookie;

  6.引入第三方库将增加小程序包的数量。

  考虑到开发人员的紧急需求以及现有使用本地缓存方法的缺点,该字节applet提供了基本库2.45.0版本中框架级别的cookie支持。

  BYTE MINI程序支持TT.Request响应中的支持服务,使用HTTP首次设置cookie的Set-Cookie字段。该框架负责Cookie分析,存储,匹配和发送的框架,并且处理逻辑遵循RFC6265规格。。

  有关更多介绍,查看器文档:小程序cookie机制

  与市场上的两种流行方法相比,字节迷你程序提供的曲奇机制具有以下核心优势:

  与使用存储模拟cookie实施的开发人员相比,小程序cookie遵循RFC6265规范,所提供的功能相对完整且丰富:

  小程序cookie由框架SDK管理。读取速度比前端存储模拟快得多。根据数据,小程序cookie的阅读速度<1ms,写作速度约为7ms。

  然后比较开发人员自己的阅读数据的情况,并且性能优势很明显:

  // http请求不会携带cookie // cookie:''tt.request({url:“ http:/xxx.com”});

  // https请求仅携带cookie // cookie:'id = 1'tt.request({url:“ https:/xxx.com”});

  // cross-domain set-cookie不会存储网址:“ https://a.com/” set-cookie:“ id1 = 1; domain = b.com”

  // ttml

  // js playVideo(e){const id = e.target.id;const userId = tt.getStotOragesYnc('useId');tt.request({url:'xxx',数据:{userId,videoid:id,}});};}

  {“ cookie”:{“ enablestore”:true // true打开小程序cookie Mechangigry.default false}}}

  //本地cookie // key1 = value1;key2 = value2

  //自定义cookie tt.request({url:“ https://xxx.com/request”,header:{“ content-type”:“ application/json”,cookie:“ key1 = value3”,//此hereaddcookie},成功(res){console.log(“成功呼叫”,res.data);},});

  // cookie // key1 = value3;key2 = value2

  原始:https://juejin.cn/post/7096032377788432392