{"id":3251,"date":"2021-09-20T20:00:00","date_gmt":"2021-09-20T23:00:00","guid":{"rendered":"https:\/\/felipemateus.com\/?p=3251"},"modified":"2026-05-15T01:19:43","modified_gmt":"2026-05-15T04:19:43","slug":"web-storage-api","status":"publish","type":"post","link":"https:\/\/felipemateus.com\/en\/blog\/2021\/09\/web-storage-api","title":{"rendered":"Web Storage API: A Practical Guide to LocalStorage and SessionStorage"},"content":{"rendered":"\n<p class=\"has-text-align-justify wp-block-paragraph\">A Web Storage API \u00e9 uma ferramenta essencial no desenvolvimento moderno, oferecendo uma forma eficiente de armazenar dados no navegador via chave\/valor. Embora substitua os cookies em diversos cen\u00e1rios de armazenamento local, seu principal benef\u00edcio \u00e9 a capacidade de gerenciar dados sem sobrecarregar as requisi\u00e7\u00f5es HTTP, j\u00e1 que, ao contr\u00e1rio dos cookies, os dados da Storage n\u00e3o s\u00e3o enviados ao servidor em cada cabe\u00e7alho (header).<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\"><strong>Por que usar Web Storage em vez de Cookies?<\/strong> <\/h2>\n\n\n\n<p class=\"has-text-align-justify wp-block-paragraph\">Antigamente, os desenvolvedores dependiam exclusivamente de cookies, que possuem uma limita\u00e7\u00e3o severa de apenas <strong>4KB<\/strong> por dom\u00ednio. Al\u00e9m disso, por serem transmitidos em todas as requisi\u00e7\u00f5es, os cookies podem expor dados sens\u00edveis se n\u00e3o forem configurados corretamente (como o uso de flags Secure e HttpOnly).<\/p>\n\n\n\n<p class=\"has-text-align-justify wp-block-paragraph\">O Web Storage resolve isso oferecendo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Maior capacidade:<\/strong> At\u00e9 5MB de armazenamento na maioria dos navegadores.<\/li>\n\n\n\n<li><strong>Performance:<\/strong> Os dados ficam restritos ao cliente, reduzindo o tr\u00e1fego de rede.<\/li>\n\n\n\n<li><strong>Facilidade:<\/strong> Uma API simples e nativa do JavaScript.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Como funciona o Web Storage API <\/h2>\n\n\n\n<p class=\"has-text-align-justify wp-block-paragraph\">A API divide-se em duas interfaces principais que compartilham os mesmos m\u00e9todos, mas possuem ciclos de vida distintos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>localStorage:<\/strong> Os dados s\u00e3o persistentes. Eles permanecem gravados mesmo ap\u00f3s fechar o navegador, sendo removidos apenas via c\u00f3digo ou limpeza manual do usu\u00e1rio. Comum para salvar prefer\u00eancias de tema (dark mode) ou tokens de sess\u00e3o. Esse recurso \u00e9 um dos pilares para quem deseja transformar seu site em um <strong><a href=\"https:\/\/felipemateus.com\/blog\/2022\/03\/pwa-progressive-web-application\" target=\"_blank\" rel=\"noreferrer noopener\">PWA (Progressive Web Application)<\/a><\/strong>, permitindo que a aplica\u00e7\u00e3o funcione mesmo sem internet.<\/li>\n\n\n\n<li><strong>sessionStorage:<\/strong> Os dados persistem apenas enquanto a aba ou janela do navegador estiver aberta. \u00c9 ideal para fluxos tempor\u00e1rios, como carrinhos de compras, estados de formul\u00e1rios ou dados de checkout.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Web Storage Fun\u00e7\u00f5es<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As classes do Web Storage t\u00eam 4 fun\u00e7\u00f5es e funciona baseando em  chave\/valor. Lembrando que essas fun\u00e7\u00f5es funcionam para as 2 classes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">setItem(key, value)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esta fun\u00e7\u00e3o \u00e9 usada para adicionar itens no Web Storage.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sessionStorage.setItem(\u201canimal\u201d,\u201dcachorro\u201d); \/\/ Salva cachorro com key animal.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">getItem(key)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esta fun\u00e7\u00e3o retorna o valor&nbsp; salvo na key.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>localStorage.getItem(\u201canimal\u201d); \/\/ Retorna  key animal.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">removeItem(key)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esta fun\u00e7\u00e3o remove a chave que tem o nome key.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sessionStorage.removeItem(\u201canimal\u201d); \/\/ Remove  key e valor com com key  animal.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">clear()<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esta fun\u00e7\u00e3o remove todos os dados salvos na storage.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>localStorage.clear(); \/\/  Limpa todos os dados<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Conclus\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Em s\u00edntese dominar o Web Storage \u00e9 obrigat\u00f3rio para qualquer desenvolvedor Front-end. Enquanto os cookies de terceiros enfrentam restri\u00e7\u00f5es crescentes por privacidade, o armazenamento local se consolida como a solu\u00e7\u00e3o padr\u00e3o para uma experi\u00eancia de usu\u00e1rio r\u00e1pida e persistente.<\/p>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2>O que \u00e9 Web Storage?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t\t<figure class=\"sc_fs_faq__figure\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/local_storage-150x150.jpeg\"\n\t\t\t\t\t\t\ttitle=\"Local Storage\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tclass=\"sc_fs_faq__image\"\n\t\t\t\t\t\t\t\tsrc=\"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/local_storage-150x150.jpeg\"\n\t\t\t\t\t\t\t\talt=\"Local Storage\"\n\t\t\t\t\t\t>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/figure>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"has-text-align-justify wp-block-paragraph\">\u00c9 uma API de armazenamento que fornece mecanismos para que os navegadores possam armazenar dados atrav\u00e9s de chave\/valor de uma forma mais eficiente que os cookies. \u00c9 a alternativa moderna aos cookies para armazenar at\u00e9 5MB de dados no lado do cliente.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2>Qual a diferen\u00e7a entre LocalStorage e SessionStorage?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"has-text-align-justify wp-block-paragraph\">A diferen\u00e7a reside no tempo de vida dos dados.O <strong>localStorage<\/strong> mant\u00e9m os dados por tempo indeterminado, a menos que voc\u00ea os apague; j\u00e1 o <strong>sessionStorage<\/strong> apaga os dados automaticamente ao encerrar a sess\u00e3o da aba.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2>Quando devo usar LocalStorage em vez de cookies?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Use o <strong>localStorage<\/strong> para armazenar volumes maiores de dados (at\u00e9 5MB) sem sobrecarregar as requisi\u00e7\u00f5es ao servidor, como em prefer\u00eancias de tema ou estados de interface.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"O que \u00e9 Web Storage?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>\u00c9 uma API de armazenamento que fornece mecanismos para que os navegadores possam armazenar dados atrav\u00e9s de chave\/valor de uma forma mais eficiente que os cookies. \u00c9 a alternativa moderna aos cookies para armazenar at\u00e9 5MB de dados no lado do cliente.<\/p>\"\n\t\t\t\t\t\t\t\t\t\t,\n\t\t\t\t\t\"image\" : {\n\t\t\t\t\t\t\"@type\" : \"ImageObject\",\n\t\t\t\t\t\t\"contentUrl\" : \"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/local_storage-150x150.jpeg\"\n\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Qual a diferen\u00e7a entre LocalStorage e SessionStorage?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>A diferen\u00e7a reside no tempo de vida dos dados.O <strong>localStorage<\/strong> mant\u00e9m os dados por tempo indeterminado, a menos que voc\u00ea os apague; j\u00e1 o <strong>sessionStorage<\/strong> apaga os dados automaticamente ao encerrar a sess\u00e3o da aba.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Quando devo usar LocalStorage em vez de cookies?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Use o <strong>localStorage<\/strong> para armazenar volumes maiores de dados (at\u00e9 5MB) sem sobrecarregar as requisi\u00e7\u00f5es ao servidor, como em prefer\u00eancias de tema ou estados de interface.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Web Storage API. Learn more about the api that replaces cookies as the main way of storing information in the browser.<\/p>","protected":false},"author":2,"featured_media":3446,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAowhPjFCw:productID":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1935],"tags":[1073,1072,1054,1053,1063,1074],"class_list":["post-3251","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento-web-e-programacao","tag-cookies","tag-html5","tag-javascript","tag-programacao","tag-site","tag-webstorage"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Guia Pr\u00e1tico de Web Storage: LocalStorage vs SessionStorage<\/title>\n<meta name=\"description\" content=\"Aprenda como implementar LocalStorage e SessionStorage de forma segura e eficiente nos seus projetos web. Veja exemplos reais.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Guia Pr\u00e1tico de Web Storage: LocalStorage vs SessionStorage\" \/>\n<meta property=\"og:description\" content=\"Aprenda como implementar LocalStorage e SessionStorage de forma segura e eficiente nos seus projetos web. Veja exemplos reais.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api\" \/>\n<meta property=\"og:site_name\" content=\"Felipe Mateus\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/eufelipemateus\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/eufelipemateus\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-20T23:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-15T04:19:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/web-storage-api.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1207\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Felipe Mateus\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@eufelipemateus\" \/>\n<meta name=\"twitter:site\" content=\"@eufelipemateus\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Felipe Mateus\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api\"},\"author\":{\"name\":\"Felipe Mateus\",\"@id\":\"https:\\\/\\\/felipemateus.com\\\/#\\\/schema\\\/person\\\/5ca2279426b9f93497fbf68a6e2577b6\"},\"headline\":\"Web Storage API: Guia Pr\u00e1tico de LocalStorage e SessionStorage\",\"datePublished\":\"2021-09-20T23:00:00+00:00\",\"dateModified\":\"2026-05-15T04:19:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api\"},\"wordCount\":535,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/felipemateus.com\\\/#\\\/schema\\\/person\\\/5ca2279426b9f93497fbf68a6e2577b6\"},\"image\":{\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/felipemateus.com\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/web-storage-api.jpg\",\"keywords\":[\"cookies\",\"html5\",\"Javascript\",\"Programa\u00e7\u00e3o\",\"Site\",\"WebStorage\"],\"articleSection\":[\"Desenvolvimento Web e Programa\u00e7\u00e3o\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api\",\"url\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api\",\"name\":\"Guia Pr\u00e1tico de Web Storage: LocalStorage vs SessionStorage\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/felipemateus.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/felipemateus.com\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/web-storage-api.jpg\",\"datePublished\":\"2021-09-20T23:00:00+00:00\",\"dateModified\":\"2026-05-15T04:19:43+00:00\",\"description\":\"Aprenda como implementar LocalStorage e SessionStorage de forma segura e eficiente nos seus projetos web. Veja exemplos reais.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api#primaryimage\",\"url\":\"https:\\\/\\\/felipemateus.com\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/web-storage-api.jpg\",\"contentUrl\":\"https:\\\/\\\/felipemateus.com\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/web-storage-api.jpg\",\"width\":2000,\"height\":1207,\"caption\":\"web storage api\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mundoazul.blog\\\/2021\\\/09\\\/web-storage-api#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/felipemateus.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Desenvolvimento Web e Programa\u00e7\u00e3o\",\"item\":\"https:\\\/\\\/felipemateus.com\\\/blog\\\/topicos\\\/desenvolvimento-web-e-programacao\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Web Storage API: Guia Pr\u00e1tico de LocalStorage e SessionStorage\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/felipemateus.com\\\/#website\",\"url\":\"https:\\\/\\\/felipemateus.com\\\/\",\"name\":\"Felipe Mateus @felipemateus\",\"description\":\"Seja Bem-Vindo ao meu mundo azul.\",\"publisher\":{\"@id\":\"https:\\\/\\\/felipemateus.com\\\/#\\\/schema\\\/person\\\/5ca2279426b9f93497fbf68a6e2577b6\"},\"alternateName\":\"eufelipemateus\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/felipemateus.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/felipemateus.com\\\/#\\\/schema\\\/person\\\/5ca2279426b9f93497fbf68a6e2577b6\",\"name\":\"Felipe Mateus Rocha Martins\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/felipemateus.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/FELIPE-2-1024x1024.png\",\"url\":\"https:\\\/\\\/felipemateus.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/FELIPE-2-1024x1024.png\",\"contentUrl\":\"https:\\\/\\\/felipemateus.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/FELIPE-2-1024x1024.png\",\"width\":1024,\"height\":1024,\"caption\":\"Felipe Mateus\"},\"sameAs\":[\"https:\\\/\\\/felipemateus.com\",\"https:\\\/\\\/www.facebook.com\\\/eufelipemateus\",\"https:\\\/\\\/www.instagram.com\\\/eufelipemateus\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/eufelipemateus\\\/\",\"https:\\\/\\\/x.com\\\/eufelipemateus\",\"https:\\\/\\\/github.com\\\/eufelipemateus\",\"https:\\\/\\\/soundcloud.com\\\/eufelipemateus\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Practical Guide to Web Storage: LocalStorage vs SessionStorage","description":"Learn how to implement LocalStorage and SessionStorage securely and efficiently in your web projects. See real-world examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api","og_locale":"en_US","og_type":"article","og_title":"Guia Pr\u00e1tico de Web Storage: LocalStorage vs SessionStorage","og_description":"Aprenda como implementar LocalStorage e SessionStorage de forma segura e eficiente nos seus projetos web. Veja exemplos reais.","og_url":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api","og_site_name":"Felipe Mateus","article_publisher":"https:\/\/www.facebook.com\/eufelipemateus","article_author":"https:\/\/www.facebook.com\/eufelipemateus","article_published_time":"2021-09-20T23:00:00+00:00","article_modified_time":"2026-05-15T04:19:43+00:00","og_image":[{"width":2000,"height":1207,"url":"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/web-storage-api.jpg","type":"image\/jpeg"}],"author":"Felipe Mateus","twitter_card":"summary_large_image","twitter_creator":"@eufelipemateus","twitter_site":"@eufelipemateus","twitter_misc":{"Written by":"Felipe Mateus","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api#article","isPartOf":{"@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api"},"author":{"name":"Felipe Mateus","@id":"https:\/\/felipemateus.com\/#\/schema\/person\/5ca2279426b9f93497fbf68a6e2577b6"},"headline":"Web Storage API: Guia Pr\u00e1tico de LocalStorage e SessionStorage","datePublished":"2021-09-20T23:00:00+00:00","dateModified":"2026-05-15T04:19:43+00:00","mainEntityOfPage":{"@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api"},"wordCount":535,"commentCount":0,"publisher":{"@id":"https:\/\/felipemateus.com\/#\/schema\/person\/5ca2279426b9f93497fbf68a6e2577b6"},"image":{"@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api#primaryimage"},"thumbnailUrl":"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/web-storage-api.jpg","keywords":["cookies","html5","Javascript","Programa\u00e7\u00e3o","Site","WebStorage"],"articleSection":["Desenvolvimento Web e Programa\u00e7\u00e3o"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/mundoazul.blog\/2021\/09\/web-storage-api#respond"]}]},{"@type":"WebPage","@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api","url":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api","name":"Practical Guide to Web Storage: LocalStorage vs SessionStorage","isPartOf":{"@id":"https:\/\/felipemateus.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api#primaryimage"},"image":{"@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api#primaryimage"},"thumbnailUrl":"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/web-storage-api.jpg","datePublished":"2021-09-20T23:00:00+00:00","dateModified":"2026-05-15T04:19:43+00:00","description":"Learn how to implement LocalStorage and SessionStorage securely and efficiently in your web projects. See real-world examples.","breadcrumb":{"@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mundoazul.blog\/2021\/09\/web-storage-api"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api#primaryimage","url":"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/web-storage-api.jpg","contentUrl":"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/web-storage-api.jpg","width":2000,"height":1207,"caption":"web storage api"},{"@type":"BreadcrumbList","@id":"https:\/\/mundoazul.blog\/2021\/09\/web-storage-api#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/felipemateus.com\/"},{"@type":"ListItem","position":2,"name":"Desenvolvimento Web e Programa\u00e7\u00e3o","item":"https:\/\/felipemateus.com\/blog\/topicos\/desenvolvimento-web-e-programacao"},{"@type":"ListItem","position":3,"name":"Web Storage API: Guia Pr\u00e1tico de LocalStorage e SessionStorage"}]},{"@type":"WebSite","@id":"https:\/\/felipemateus.com\/#website","url":"https:\/\/felipemateus.com\/","name":"Felipe Mateus @felipemateus","description":"Welcome to my blue world.","publisher":{"@id":"https:\/\/felipemateus.com\/#\/schema\/person\/5ca2279426b9f93497fbf68a6e2577b6"},"alternateName":"eufelipemateus","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/felipemateus.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/felipemateus.com\/#\/schema\/person\/5ca2279426b9f93497fbf68a6e2577b6","name":"Felipe Mateus Rocha Martins","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2023\/04\/FELIPE-2-1024x1024.png","url":"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2023\/04\/FELIPE-2-1024x1024.png","contentUrl":"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2023\/04\/FELIPE-2-1024x1024.png","width":1024,"height":1024,"caption":"Felipe Mateus"},"sameAs":["https:\/\/felipemateus.com","https:\/\/www.facebook.com\/eufelipemateus","https:\/\/www.instagram.com\/eufelipemateus","https:\/\/www.linkedin.com\/in\/eufelipemateus\/","https:\/\/x.com\/eufelipemateus","https:\/\/github.com\/eufelipemateus","https:\/\/soundcloud.com\/eufelipemateus"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/felipemateus.b-cdn.net\/wp-content\/uploads\/2021\/09\/web-storage-api.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pb1Prx-Qr","jetpack-related-posts":[{"id":3818,"url":"https:\/\/felipemateus.com\/en\/blog\/2021\/12\/mysql-saving-files-with-nestjs-mysql","url_meta":{"origin":3251,"position":0},"title":"mysql: Saving files in mysql with nestjs","author":"Felipe Mateus","date":"12\/12\/2021","format":false,"excerpt":"This article explains how to upload files to a MySQL database.","rel":"","context":"In &quot;Desenvolvimento Web e Programa\u00e7\u00e3o&quot;","block_context":{"text":"Desenvolvimento Web e Programa\u00e7\u00e3o","link":"https:\/\/felipemateus.com\/en\/blog\/topics\/web-development-and-programming"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2021\/12\/upload-g4ec6e5c76_1920.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2021\/12\/upload-g4ec6e5c76_1920.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2021\/12\/upload-g4ec6e5c76_1920.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2021\/12\/upload-g4ec6e5c76_1920.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2021\/12\/upload-g4ec6e5c76_1920.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2021\/12\/upload-g4ec6e5c76_1920.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":8692,"url":"https:\/\/felipemateus.com\/en\/blog\/2022\/12\/technology-market-professions","url_meta":{"origin":3251,"position":1},"title":"Technology Market Professions for the New Year.","author":"Felipe Mateus","date":"29\/12\/2022","format":false,"excerpt":"This is a text that presents some professions in the technology market that should be on the rise in 2023, as well as some courses for those who want to qualify. The text begins by showing that, although in the short term the technology market is going through a small crisis, in the long term\u2026","rel":"","context":"In &quot;Tecnologia, Carreira e Mercado&quot;","block_context":{"text":"Tecnologia, Carreira e Mercado","link":"https:\/\/felipemateus.com\/en\/blog\/topics\/technology"},"img":{"alt_text":"Mercado de tecnologia","src":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/12\/cover.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/12\/cover.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/12\/cover.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/12\/cover.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/12\/cover.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/12\/cover.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":8252,"url":"https:\/\/felipemateus.com\/en\/blog\/2022\/08\/what-is-the-best-programming-language-to-create-websites","url_meta":{"origin":3251,"position":2},"title":"What is the best programming language to create websites?","author":"Felipe Mateus","date":"01\/08\/2022","format":false,"excerpt":"Learn more which is the best programming languages for the website.","rel":"","context":"In &quot;Desenvolvimento Web e Programa\u00e7\u00e3o&quot;","block_context":{"text":"Desenvolvimento Web e Programa\u00e7\u00e3o","link":"https:\/\/felipemateus.com\/en\/blog\/topics\/web-development-and-programming"},"img":{"alt_text":"Qual \u00e9 Linguagem de Programa\u00e7\u00e3o para criar sites?","src":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/07\/programming-1920.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/07\/programming-1920.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/07\/programming-1920.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/07\/programming-1920.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/07\/programming-1920.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/07\/programming-1920.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":53121,"url":"https:\/\/felipemateus.com\/en\/blog\/2026\/03\/wordpress-theme-improving-performance","url_meta":{"origin":3251,"position":3},"title":"Why I created my own WordPress theme.","author":"Felipe Mateus","date":"05\/03\/2026","format":false,"excerpt":"I created my own theme for my website to improve performance and reduce reliance on general-purpose plugins that weigh down the site. In the text, I detail the changes I made.","rel":"","context":"In &quot;Desenvolvimento Web e Programa\u00e7\u00e3o&quot;","block_context":{"text":"Desenvolvimento Web e Programa\u00e7\u00e3o","link":"https:\/\/felipemateus.com\/en\/blog\/topics\/web-development-and-programming"},"img":{"alt_text":"Imagem print pagespeed","src":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2026\/03\/pagespeed.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2026\/03\/pagespeed.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2026\/03\/pagespeed.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2026\/03\/pagespeed.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2026\/03\/pagespeed.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2026\/03\/pagespeed.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":30799,"url":"https:\/\/felipemateus.com\/en\/blog\/2025\/12\/felipe-mateus-app","url_meta":{"origin":3251,"position":4},"title":"Felipe Mateus&#039; App: Renewal and Focus on Interaction","author":"Felipe Mateus","date":"15\/12\/2025","format":false,"excerpt":"Meet Felipe Mateus&#039; new app, the natural evolution of microblogging! With a modern interface and built in Laravel\/Vue 3, the app now allows interaction with comments, reactions, and native video processing.","rel":"","context":"In &quot;Projetos&quot;","block_context":{"text":"Projetos","link":"https:\/\/felipemateus.com\/en\/blog\/topics\/projects"},"img":{"alt_text":"app do Felipe Mateus","src":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2025\/12\/Captura-de-tela-de-2025-12-15-08-31-22.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2025\/12\/Captura-de-tela-de-2025-12-15-08-31-22.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2025\/12\/Captura-de-tela-de-2025-12-15-08-31-22.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2025\/12\/Captura-de-tela-de-2025-12-15-08-31-22.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2025\/12\/Captura-de-tela-de-2025-12-15-08-31-22.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2025\/12\/Captura-de-tela-de-2025-12-15-08-31-22.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":4218,"url":"https:\/\/felipemateus.com\/en\/blog\/2022\/03\/pwa-progressive-web-application","url_meta":{"origin":3251,"position":5},"title":"What is PWA (Progressive Web Application)?","author":"Felipe Mateus","date":"31\/03\/2022","format":false,"excerpt":"What is PWA? A type of web application that looks like a native app but don&#039;t know more.","rel":"","context":"In &quot;Desenvolvimento Web e Programa\u00e7\u00e3o&quot;","block_context":{"text":"Desenvolvimento Web e Programa\u00e7\u00e3o","link":"https:\/\/felipemateus.com\/en\/blog\/topics\/web-development-and-programming"},"img":{"alt_text":"pwa logo","src":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/03\/pwa-logo.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/03\/pwa-logo.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/03\/pwa-logo.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/03\/pwa-logo.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/03\/pwa-logo.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/felipemateus.com\/wp-content\/uploads\/2022\/03\/pwa-logo.png?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"jetpack_likes_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/posts\/3251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/comments?post=3251"}],"version-history":[{"count":24,"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/posts\/3251\/revisions"}],"predecessor-version":[{"id":38128,"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/posts\/3251\/revisions\/38128"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/media\/3446"}],"wp:attachment":[{"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/media?parent=3251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/categories?post=3251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/felipemateus.com\/en\/wp-json\/wp\/v2\/tags?post=3251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}