`

本地存储——cookie

    博客分类:
  • web
 
阅读更多
     cookie是客户端用来存储数据的一种选项,既可以设置在客户端,也可以在服务端设置,cookie会跟随任意的http请求一起发送。
     cookie的优点:兼容性好
     cookie的缺点:①增加了网络流量,②数据容量有限,最多能存储4kb的数据,浏览器之间各有不同,③不安全。
     cookie是一小段文本信息,伴随着用户请求在web服务器和浏览器之间传递,它存储于访问者的计算机中,每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie。它是浏览器提供的一种机制,将document对象的cookie属性提供给js,可以使用js来创建和取回cookie的值,因此我们可以通过document.cookie访问它。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,也就是说,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。
      cookie的根本用途:cookie将信息存储于用户硬盘,因此可以作为全局变量,这是cookie最大的优点,最根本的用途是帮助web站点保存有关访问者的信息。
      例如:①保存用户登录信息;
            ②创建购物车(购物网站通常把已选物品保存在cookie中,这样可以实现不同页面之间数据的同步,同时在提交订单的时候又会把这些cookie传到后台);
            ③跟踪用户行为(例如 百度联盟 会通过cookie记录用户的偏好信息,然后再向用户推荐个性化推广信息,所以浏览其它网页的时候经常会发现旁边的小广告都是自己最近百度搜索过的东西,这个是可以禁用的,这也是cookie的缺点之一)

        cookie的格式和常见的属性:字符串规律:①每个cookie都以名/值对的形式,即name = value;②名称和值都必须是URL编码的;③两对cookie之间以分号和空格隔开。domain、path、expires/max-age、size、http。secure等都是cookie的属性。
        domain 和 path 这两个属性共同决定了cookie能被哪些页面共享,domain 参数是用来控制cookie对哪个域有效,默认为设置cookie的那个域,这个值可以包含子域,也可以不包含它。path 用来控制cookie发送的指定域的路径,默认为“1”,表示指定域下的所有路径都可以访问,它是域名的基础下,指定可以访问的路径。例如:cookie设置为 :
"domain = .google.com.hk; path = /webhp"

那么只有".google.com.hk/webhp"以及"/webhp"下的任一子目录(如:"/webhp/aaa")会发送cookie信息,而".google.com.hk"就不会发送,即使他们来自同一个域。
         expires/max-age失效时间,expires/max-age是用来决定cookie的生命周期的,也就是cookie会何时被删除,expires表示的是失效时间,准确的说是时刻,max-age表示得是生效的时间段,以秒为单位,若max-age为正值,则表示cookie会在max-age秒后失效,如max-age = 10800,也就是生效时间是三小时,那么cookie将在三小时以后失效。若max-age为负值,则cookie会在浏览器会话结束以后失效。
         secure 默认情况为空,不指定secure选项,即不论是http请求还是https请求均会发送cookie,secure是cookie 的安全标志,是cookie中唯一的一个非键值对的部分,指定后,cookie只有在使用ssl连接时(如HTTPS请求或其他安全协议请求的)才会发送到服务器。
         httponly(即http)是用来限制客户端脚本对cookie的访问,将cookie设置成httponly可以减轻xss(跨站脚本攻击)攻击的危害,防止cookie被窃取,用来增强cookie的安全性。
分享到:
评论

相关推荐

    存储篇 2:本地存储——从 Cookie 到 Web Storage、IndexDB(1).md

    ### Cookie的局限性与本地存储的发展 在探讨前端性能优化时,存储技术是一个不可忽视的领域。早期的网络应用中,由于HTTP协议无状态性的特点,需要有一种机制来维持客户端与服务器之间的状态。为了实现这一需求,...

    HTML5本地存储——IndexedDB

    HTML5的本地存储技术是现代Web应用中一个重要的特性,其中IndexedDB是一个强大的、基于数据库的存储机制。这篇博文将深入探讨IndexedDB的核心概念、用途以及如何在实际项目中运用。 IndexedDB是一种非关系型数据库...

    javascript小工具之——cookie操作

    这篇博客“javascript小工具之——cookie操作”很可能会探讨如何利用JavaScript进行有效的Cookie操作。 Cookie是由Web服务器发送到用户的浏览器并存储在本地的小型文本文件。它们由键值对组成,可以设置过期时间,...

    JavaScript基础篇——浅谈cookie

    ### JavaScript基础篇——浅谈cookie #### 一、引言 在Web开发中,如何保持用户的登录状态或记住用户的一些个性化设置是一个常见的需求。对于这种轻量级的数据存储需求,`cookie`是一种非常实用的技术。它能够帮助...

    前端经典——localstorage本地存储demo.rar

    这个“前端经典——localstorage本地存储demo”压缩包提供了一个示例,帮助开发者深入理解Local Storage的工作原理和用法。下面我们将详细探讨Local Storage的核心概念、用途、API以及在实际开发中的应用。 1. **...

    使用Cookie登录每个帐户只需登录一次,然后可以自由切换登录

    标题中的“使用Cookie登录每个帐户只需登录一次,然后可以自由切换登录”涉及到的是网络应用程序中的一种常见身份验证机制——Cookie。Cookie是服务器发送到用户浏览器并存储在本地的一小块数据,通常用于识别用户...

    TestCookie.java(csdn)————程序.pdf

    与`Session`不同,`Cookie`存储在用户的本地浏览器,而`Session`数据则存储在服务器端,这使得`Cookie`的生命周期更依赖于用户是否关闭浏览器,而`Session`的生命周期通常由服务器控制。 在给定的`TestCookie.java`...

    jscript中使用cookie

    在Web开发中,JavaScript的全局变量在不同页面间通常是无法共享的,但是有一种机制——Cookie,可以实现跨页面的全局数据存储。Cookie是由浏览器提供的功能,它允许JavaScript通过`document.cookie`属性来读写存储在...

    cookie实现记住用户名密码

    在这个“cookie实现记住用户名密码”的项目中,我们主要会涉及到Java Web开发环境,如IntelliJ IDEA和Tomcat服务器,以及关键的技术点——Cookie与JSP的结合。 1. **Cookie基础概念** - Cookie由服务器创建,存储...

    js本地存储兼容版本

    JavaScript是一种广泛应用于网页和网络应用的编程语言,它在客户端提供了两种主要的本地存储机制:Cookie和Web Storage。本文将详细探讨"js本地存储兼容版本"这一主题,以及如何利用这些技术来处理不同浏览器的兼容...

    Cookie_显示浏览历史

    Cookie是由Web服务器发送到用户的浏览器并存储在本地的小型文本文件。每当用户访问同一网站时,浏览器会自动将这些Cookie发送回服务器,使得服务器能够识别用户的身份、偏好或其他相关信息。Cookie通常包含以下几...

    Cookie提取.zip

    在IT行业中,Cookie是网络应用中非常重要的一个概念,它是一种小型文本文件,由服务器发送到用户的浏览器并存储在本地,用于在用户下次访问同一网站时识别用户身份、记录用户偏好或者保持登录状态。"Cookie提取.zip...

    Web应用安全:Cookie参数越权.pptx

    在本文中,我们将深入探讨一个特定的安全威胁——Cookie参数越权,这是一种允许攻击者非法访问与他们拥有相同权限的用户资源的攻击方式。 1. **水平越权** 水平越权发生在系统没有对不同用户的数据进行细分或校验...

    从入门到精通HTML5——PDF——网盘链接

     2.3.10 删除过期的cookie 25  2.3.11 强制打开新窗口 25  2.3.12 设置网页的过渡效果 26  2.4 基底网址标记<base> 29  2.5 页面的主体标记<body> 30  2.5.1 设置文字颜色——text 31  2.5.2 ...

    js操作cookie

    Cookie由服务器生成并发送到客户端(浏览器),浏览器会将Cookie保存在本地,并在后续请求中将其回传给服务器。每个Cookie通常包含一个名字、值、过期时间、路径和域等属性。JavaScript通过`document.cookie`属性与...

    HTML5本地存储之Database Storage应用介绍

    HTML5的本地存储机制扩展了Web应用程序的能力,使得开发者可以在用户浏览器中持久化地存储数据。在HTML5之前,Web应用程序依赖于Cookie来存储少量信息,但Cookie由于大小限制和性能原因并不适合大量数据的存储。...

    CSS+JS+Cookie实现关闭广告后刷新浏览器不显示,关闭重启浏览器显示

    Cookie是服务器发送到用户浏览器并存储在本地的一小段数据,可以用来跟踪用户的状态。在此问题中,我们需要设置一个Cookie来记录用户已关闭广告的事实。 当用户点击关闭广告按钮时,JavaScript不仅隐藏广告,还会...

    浏览记录以及免输密码登录

    标题中的“浏览记录以及免输密码登录”与描述中提到的“关于cookie应用的实现”紧密相关,这涉及到了Web开发中的一个核心概念——Cookie。Cookie是网站在用户浏览器上存储的一小段文本数据,用于跟踪用户的浏览行为...

Global site tag (gtag.js) - Google Analytics