এই উদাহরণে, ব্যবহারকারী যদি ডার্ক মোড চালু করে, তখন localStorage-এ সেট করা হয় যে ডার্ক মোড সক্রিয় আছে। ব্রাউজার বন্ধ করার পরেও ডার্ক মোড সক্রিয় থাকবে যতক্ষণ না এটি বন্ধ করা হয়।

উপসংহার

Web Storage API হল একধরনের ক্লায়েন্ট-সাইড স্টোরেজ যা ডেটা ব্রাউজারে সংরক্ষণ এবং অ্যাক্সেস করার জন্য ব্যবহৃত হয়। এটি ব্যবহার করে আপনি session বা long-term ডেটা সংরক্ষণ করতে পারেন। localStorage এবং sessionStorage আপনাকে ব্যবহারকারীর ইন্টারঅ্যাকশন উন্নত করতে সাহায্য করে, বিশেষত এমন ক্ষেত্রে যেখানে server-side অনুরোধ ছাড়া ডেটা ম্যানেজ করা দরকার।

","image":"http://www.luping.net/uploads/20241014/1728900731670cee7b89109.jpg","datePublished":"2024-11-08T09:22:12+08:00","dateModified":"2024-11-08T09:22:12+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 通过示例解释 Web 存储 API

通过示例解释 Web 存储 API

发布于2024-11-08
浏览:358

Web Storage API Explained with Examples

Web Storage API: বিস্তারিত আলোচনা

Web Storage API হলো জাভাস্ক্রিপ্টের একটি শক্তিশালী API যা ব্রাউজারে ব্যবহারকারীর ডেটা স্টোর করার জন্য ব্যবহৃত হয়। এটি client-side storage-এর মাধ্যমে key-value pair আকারে ডেটা সংরক্ষণ করতে সাহায্য করে। Web Storage API-এর দুটি প্রধান ভাগ রয়েছে:

  1. localStorage: ডেটা ব্রাউজার বন্ধ করার পরেও থাকে।
  2. sessionStorage: ডেটা শুধুমাত্র সেশন (ব্রাউজার ট্যাব বা উইন্ডো) পর্যন্ত থাকে, অর্থাৎ সেশন শেষ হলে (ব্রাউজার বা ট্যাব বন্ধ করলে) ডেটা মুছে যায়।

Web Storage API কেন ব্যবহার করবেন?

  • Client-side ডেটা সংরক্ষণ: এটি ব্যবহার করে সার্ভারকে অপ্রয়োজনীয় ডেটা পাঠানো ছাড়া client-side-এ ডেটা সংরক্ষণ করা যায়।
  • Session এবং Local Storage: Web Storage API session-ভিত্তিক ডেটা সংরক্ষণ বা দীর্ঘমেয়াদী ডেটা সংরক্ষণের দুটি আলাদা পদ্ধতি সরবরাহ করে।
  • কুকিজের চেয়ে উন্নত: কুকিজের তুলনায় Web Storage API নিরাপদ এবং দ্রুত। এটি প্রতি সার্ভার অনুরোধে ডেটা পাঠায় না এবং কুকিজের সীমাবদ্ধতা ছাড়াই বেশি ডেটা সংরক্ষণ করতে পারে।
  • সহজ API: এটি ব্যবহার করা খুবই সহজ এবং key-value pair আকারে ডেটা ম্যানেজ করে।

Web Storage API-এর দুইটি ভাগ:

1. localStorage

localStorage হলো ব্রাউজারের ডেটা স্টোর করার একটি পদ্ধতি, যা ব্রাউজার বন্ধ করলেও থেকে যায়। এটি বেশিরভাগ সময় ব্যবহার করা হয় তখন, যখন আপনি দীর্ঘ সময়ের জন্য ডেটা সংরক্ষণ করতে চান।

localStorage-এর বৈশিষ্ট্য:
  • Persistent Storage: ডেটা ব্রাউজার বন্ধ করার পরেও থাকে।
  • স্টোরেজ সাইজ: সাধারণত প্রতি origin-এ ৫ থেকে ১০ MB পর্যন্ত ডেটা সংরক্ষণ করা যায়।
  • Key-value pair আকারে ডেটা সংরক্ষণ করা হয়।
localStorage মেথড:
  • localStorage.setItem(key, value): এটি একটি key-value pair সংরক্ষণ করে।
  • localStorage.getItem(key): একটি key-এর জন্য সংরক্ষিত value ফেরত দেয়।
  • localStorage.removeItem(key): নির্দিষ্ট key-এর ডেটা মুছে দেয়।
  • localStorage.clear(): localStorage-এ সংরক্ষিত সমস্ত ডেটা মুছে দেয়।
উদাহরণ:
// ডেটা সংরক্ষণ
localStorage.setItem('username', 'JohnDoe');

// ডেটা অ্যাক্সেস
const user = localStorage.getItem('username');
console.log(user); // Output: JohnDoe

// ডেটা মুছে ফেলা
localStorage.removeItem('username');

// সমস্ত ডেটা মুছে ফেলা
localStorage.clear();

2. sessionStorage

sessionStorage হল একইভাবে key-value pair আকারে ডেটা সংরক্ষণ করে, তবে এটি session-ভিত্তিক। যখন ব্রাউজারের ট্যাব বা উইন্ডো বন্ধ হয়, sessionStorage-এর ডেটা মুছে যায়।

sessionStorage-এর বৈশিষ্ট্য:
  • Session-based Storage: ডেটা শুধুমাত্র session পর্যন্ত থাকে। ট্যাব বা উইন্ডো বন্ধ করলে ডেটা মুছে যায়।
  • স্টোরেজ সাইজ: সাধারণত প্রতি origin-এ ৫ থেকে ১০ MB পর্যন্ত ডেটা সংরক্ষণ করা যায়।
  • Key-value pair আকারে ডেটা সংরক্ষণ করা হয়।
sessionStorage মেথড:
  • sessionStorage.setItem(key, value): একটি key-value pair session-এর জন্য সংরক্ষণ করে।
  • sessionStorage.getItem(key): একটি key-এর জন্য session-এ সংরক্ষিত value ফেরত দেয়।
  • sessionStorage.removeItem(key): নির্দিষ্ট key-এর ডেটা মুছে দেয়।
  • sessionStorage.clear(): sessionStorage-এর সমস্ত ডেটা মুছে দেয়।
উদাহরণ:
// ডেটা সংরক্ষণ
sessionStorage.setItem('sessionKey', 'SessionValue');

// ডেটা অ্যাক্সেস
const sessionData = sessionStorage.getItem('sessionKey');
console.log(sessionData); // Output: SessionValue

// ডেটা মুছে ফেলা
sessionStorage.removeItem('sessionKey');

// সমস্ত ডেটা মুছে ফেলা
sessionStorage.clear();

localStorage এবং sessionStorage-এর মধ্যে পার্থক্য

বৈশিষ্ট্য localStorage sessionStorage
ডেটার স্থায়িত্ব ডেটা ব্রাউজার বন্ধ করার পরেও থাকে। ডেটা শুধুমাত্র session পর্যন্ত থাকে। ট্যাব/উইন্ডো বন্ধ হলে মুছে যায়।
স্টোরেজ সাইজ ৫ থেকে ১০ MB, নির্ভর করে ব্রাউজার এবং origin-এর উপর। ৫ থেকে ১০ MB, নির্ভর করে ব্রাউজার এবং origin-এর উপর।
ব্যবহার ক্ষেত্র দীর্ঘ সময়ের জন্য ডেটা সংরক্ষণে ব্যবহৃত হয়। session-specific ডেটা সংরক্ষণে ব্যবহৃত হয়।
মেমরি পরিষ্কার করা ব্যবহারকারী নিজে বা স্ক্রিপ্টের মাধ্যমে clear না করলে ডেটা থাকে। ট্যাব বা উইন্ডো বন্ধ করার সাথে সাথে মুছে যায়।

Web Storage API এর সীমাবদ্ধতা

  1. সাইজ সীমাবদ্ধতা: সাধারণত ৫ থেকে ১০ MB পর্যন্ত ডেটা সংরক্ষণ করা যায়, যা বড় ডেটা সংরক্ষণের জন্য যথেষ্ট নয়।
  2. Security Risks: sensitive ডেটা (যেমন, পাসওয়ার্ড বা ব্যক্তিগত তথ্য) সংরক্ষণ করার জন্য এটি নিরাপদ নয়। কারণ, এটি সহজেই জাভাস্ক্রিপ্ট কোডের মাধ্যমে অ্যাক্সেস করা যায়।
  3. Single-origin Restriction: Web Storage API কেবলমাত্র একই origin-এর জন্য ডেটা অ্যাক্সেস করতে পারে। ভিন্ন origin বা domain-এ ডেটা শেয়ার করা যায় না।

Web Storage API vs Cookies

বৈশিষ্ট্য Web Storage API Cookies
স্টোরেজ সাইজ ৫ থেকে ১০ MB প্রতি কুকি ৪ KB এর বেশি নয়।
প্রতি রিকোয়েস্টে পাঠানো সার্ভার অনুরোধে ডেটা পাঠানো হয় না। প্রতিটি সার্ভার অনুরোধের সাথে কুকি পাঠানো হয়।
API ব্যবহার সহজ API মেথড যেমন, setItem, getItem। কুকি হ্যান্ডলিং তুলনামূলকভাবে জটিল।
ডেটার স্থায়িত্ব localStorage ডেটা ব্রাউজার বন্ধ করার পরেও থাকে। কুকির সময়সীমা অনুযায়ী স্থায়ী হয়।

ব্যবহারিক উদাহরণ: ডার্ক মোড সেভ করা



  Dark Mode Example

Toggle Dark Mode

এই উদাহরণে, ব্যবহারকারী যদি ডার্ক মোড চালু করে, তখন localStorage-এ সেট করা হয় যে ডার্ক মোড সক্রিয় আছে। ব্রাউজার বন্ধ করার পরেও ডার্ক মোড সক্রিয় থাকবে যতক্ষণ না এটি বন্ধ করা হয়।

উপসংহার

Web Storage API হল একধরনের ক্লায়েন্ট-সাইড স্টোরেজ যা ডেটা ব্রাউজারে সংরক্ষণ এবং অ্যাক্সেস করার জন্য ব্যবহৃত হয়। এটি ব্যবহার করে আপনি session বা long-term ডেটা সংরক্ষণ করতে পারেন। localStorage এবং sessionStorage আপনাকে ব্যবহারকারীর ইন্টারঅ্যাকশন উন্নত করতে সাহায্য করে, বিশেষত এমন ক্ষেত্রে যেখানে server-side অনুরোধ ছাড়া ডেটা ম্যানেজ করা দরকার।

版本声明 本文转载于:https://dev.to/rsmacademybd/web-storage-api-explained-with-examples-4nph?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 为什么嵌入框阴影在透明背景的图像上消失?
    为什么嵌入框阴影在透明背景的图像上消失?
    了解图像上的插入框阴影问题在网页设计中,使用插入框阴影在元素内创建深度和尺寸是一种常见技术。然而,在处理包含图像的容器时,事情并不总是那么简单。当嵌入框阴影似乎在嵌入图像上消失时,就会出现问题。隐形阴影的情况考虑原始问题中提供的示例:body { background-color: #00000...
    编程 发布于2024-11-08
  • 如何在 ReactJS 中维护悬停状态:解决事件注册问题
    如何在 ReactJS 中维护悬停状态:解决事件注册问题
    在 ReactJS 中维护悬停状态:解决事件注册问题使用内联样式时,您会遇到 ReactJS 中悬停和活动事件的问题,因为 onMouseEnter 和 onMouseLeave 方法被证明是不可靠的。要解决此问题,请考虑利用这些事件之一处理程序:onMouseDownonMouseEnteronM...
    编程 发布于2024-11-08
  • 如何在 JavaScript 中准确检查 Null 值和空字符串?
    如何在 JavaScript 中准确检查 Null 值和空字符串?
    检查 JavaScript 中的 Null 值在 JavaScript 中,确定值是否为 null 有时会令人困惑。为了提供更深入的理解,本文将深入研究在 JavaScript 上下文中检测空值的细节。检查空值提供的代码片段旨在检查跨多个变量的 null 值:if (pass == null || ...
    编程 发布于2024-11-08
  • PHP 4 快速部署
    PHP 4 快速部署
    Servbay 已成为高效配置开发环境的领先工具。在本指南中,我们将引导您完成快速、安全地部署 PHP 8.1 的过程,展示 Servbay 对简化部署的承诺。 先决条件 确保您的计算机上安装了 Servbay。您可以从 Servbay 官方网站轻松下载。安装过程人性化;只需按照安装...
    编程 发布于2024-11-08
  • 如何绕过验证码
    如何绕过验证码
    No matter how many times people wrote that the captcha has outlived itself long time ago and no longer works as effectively as its developers would ha...
    编程 发布于2024-11-08
  • 使用 super 调用超类构造函数
    使用 super 调用超类构造函数
    子类可以使用 super(parameter-list);. 形式调用其超类定义的构造函数 parameter-list 必须指定超类构造函数所需的参数。 子类构造函数中执行的第一条语句必须始终是 super(); (或者 super(parameter-list); 如果需要传递参数). 以下是...
    编程 发布于2024-11-08
  • 你能比较 C++ 中不同容器的迭代器吗?
    你能比较 C++ 中不同容器的迭代器吗?
    比较来自不同容器的迭代器:一个警示故事在 C 中,迭代器提供了一种强大的遍历集合的机制。然而,在使用来自不同容器的迭代器时,重要的是要意识到这些限制。比较来自不同容器的迭代器是否合法的问题经常出现。考虑以下示例:std::vector<int> foo; std::vector<i...
    编程 发布于2024-11-08
  • 帮助 FastAPI:如何为文档翻译做出贡献
    帮助 FastAPI:如何为文档翻译做出贡献
    One of the great features of FastAPI is its great documentation ?. But wouldn't it be better if more people around the world had access to this docume...
    编程 发布于2024-11-08
  • 如何使用 CSS 和 AngularJS 创建垂直 HTML 表格?
    如何使用 CSS 和 AngularJS 创建垂直 HTML 表格?
    垂直 HTML 表格创建具有垂直行的 HTML 表格提供了一种独特的方式来显示数据,行标题位于左侧而不是顶部。要实现此目的,可以应用 CSS 样式来转换表格的结构。CSS 样式要将表格行呈现为垂直列,请遵循以下 CSS 规则可以使用:tr { display: block; float: l...
    编程 发布于2024-11-08
  • 通过自定义 Hooks 在 React 中重用逻辑:实用指南
    通过自定义 Hooks 在 React 中重用逻辑:实用指南
    自定义钩子是 React 中的一项强大功能,与 React 内置钩子不同,它用于更具体的目的,并且它是通过将常见功能封装到独立函数中来完成的。自定义挂钩促进可重用性、改进组件组织并整体增强代码可维护性。 在本指南中,我们将深入探讨使用自定义钩子的目的,了解创建自定义钩子的基础知识以及如何使用其他组件...
    编程 发布于2024-11-08
  • 使用 ReactJS 构建免费的 AI 图像生成器
    使用 ReactJS 构建免费的 AI 图像生成器
    开发者们大家好, 今天,我将向您展示如何使用 ReactJS 创建图像生成器,并且完全可以免费使用,这要感谢黑森林实验室和 Together AI。 第 1 步:设置项目 在本教程中,我们将使用 Vite 来初始化应用程序并使用 Shadcn 来初始化 UI。我假设您已经设置了项目并...
    编程 发布于2024-11-08
  • 字符串中的串联或大括号:哪种方法可以优化性能和美观?
    字符串中的串联或大括号:哪种方法可以优化性能和美观?
    字符串中的变量连接与大括号:评估性能和美观在字符串操作领域,开发人员经常面临两难境地:他们应该连接字符串中的变量还是选择花括号?每种方法都有自己的优点和缺点,我们将深入研究这些优点和缺点,以提供明智的决策。串联:传统方法串联涉及使用以下方法将变量附加到字符串这 '。'操作员。虽然这种...
    编程 发布于2024-11-08
  • 我尝试过花岗岩。
    我尝试过花岗岩。
    花岗岩3.0 Granite 3.0 是一个开源、轻量级的生成语言模型系列,专为一系列企业级任务而设计。它原生支持多语言功能、编码、推理和工具使用,使其适合企业环境。 我测试了运行这个模型,看看它可以处理哪些任务。 环境设置 我在Google Colab中设置了Gr...
    编程 发布于2024-11-08
  • 掌握 JavaScript 函数:开发人员综合指南
    掌握 JavaScript 函数:开发人员综合指南
    JavaScript Functions A JavaScript function is a block of code designed to perform a particular task. A JavaScript function is executed when "...
    编程 发布于2024-11-08
  • Next.js 缓存:通过高效的数据获取来增强您的应用程序
    Next.js 缓存:通过高效的数据获取来增强您的应用程序
    Next.js 中的缓存不仅仅是为了节省时间,还在于减少冗余网络请求、保持数据新鲜并使您的应用程序像摇滚明星一样运行。 无论您是想将数据缓存更长时间还是按需刷新,Next.js 都能为您提供所需的所有工具。在本文中,我们将详细介绍如何在 Next.js 中有效地使用缓存 Next.js 扩展了 f...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3