WEB前端 -- cookie

news/2024/5/18 13:28:53 标签: cookie

在说cookie之前,先来看两个例子。

 

例子1:如果经常上网,会发现很多网站都有一个功能,下次自动登录,或者一个月内免登录,只要我们不点击“退出”按钮,一段时间后再回到该网站,发现依然在线。这个功能很实用,避免了多次登录带来的不便。

 

例子2:目前的互联网,很多网站都是靠百度联盟和谷歌联盟的广告来盈利,细心地朋友可能会发现,这些广告都有跟踪功能,我们需要什么服务就显示什么广告。比如,你正在准备考研,在百度搜索了很多与考研有关的信息,浏览了很多与考研有关的网站,当你再次浏览一个与考研无关的网站时,这个网站上显示的却是考研的广告,我们很惊讶的发现,百度太聪明了。

 

这两个例子是经常见到的,都是cookie 在发挥作用。没有 cookie ,这些功能实现起来很困难,甚至无法实现。

什么是 cookie

有时候,服务器需要保存用户的信息,这些信息最好放在用户的电脑上,并能够让服务器获取。例如自动登录功能的实现,需要将用户名和密码保存在本地,下次访问网站时,再将用户名和密码发送到服务器进行验证,验证通过后自动登录,否则不能登录。

 

这些服务器在用户电脑上保存的信息,就叫cookie

 

cookie保存在用户的电脑上,当再次访问相应网站时,浏览器会把 cookie 一起发送到服务器,让服务器进行处理。

 

cookie可以由服务器端程序(PHP、ASP、JSP、Python)生成,也可以由客户端脚本(JavaScript)生成。服务器生成的 cookie 会添加到 http报头,随 http 请求发送给浏览器,浏览器再把它保存成本地的文件;JavaScript生成的 cookie 直接由浏览器保存在本地文件。

 

cookie也是随 http 请求发送给服务器的,当浏览器发送 http 请求时,会将 cookie 添加到 http 请求的报头发送到服务器,再由服务器进行处理。

为什么需要 cookie

HTTP协议是无状态的,对于一个浏览器发出的多次请求,服务器无法区分是不是来源于同一个浏览器,需要额外的数据来辨认,cookie正是这样的一段随HTTP请求一起被传递的额外数据。

cookie能做什么

cookie只是一段文本,所以它只能保存字符串。而且浏览器对它有大小限制以及 它会随着每次请求被发送到服务器,所以应该保证它不要太大。Cookie的内容也是明文保存的,有些浏览器提供界面修改,所以, 不适合保存重要的或者涉及隐私的内容。

cookie 的限制

大多数浏览器支持最大为 4096 字节的 Cookie。由于这限制了 Cookie的大小,最好用 Cookie 来存储少量数据,或者存储用户 ID 之类的标识符。用户 ID 随后便可用于标识用户,以及从数据库或其他数据源中读取用户信息。浏览器还限制网站可以在用户计算机上存储的 Cookie 的数量。大多数浏览器只允许每个网站存储20 个 Cookie;如果试图存储更多 Cookie,则最旧的 Cookie 便会被丢弃。有些浏览器还会对它们将接受的来自所有站点的 Cookie总数作出绝对限制,通常为 300 个。

cookie 的形式

cookie 是以 键/值对的形式存在的,每个“ 变量 ”对应一个值,相互之间以分号隔开,如下所示:

username=itxueyuan;password=123456;age=22

 

总结:cookie通常用来保存服务器的信息(或者说维持会话),由服务端程序或者JavaScript脚本写入,在后续请求中,供服务器读取。 

出处:http://www.itxueyuan.org/view/6374.html


http://www.niftyadmin.cn/n/1386682.html

相关文章

Windows下修改Android手机的hosts

Windows下修改Android手机的hosts 1.首先,手机是Root过的。 2.连接手机和电脑,adb shell 进入命令行。3.获取root用户权限:su -root4.不知道为何不能直接修改/etc/hosts的内容,所以修改的是/system/hosts的内容,/etc/h…

2010.11.13网规论文关注点

2010.11.13网规论文关注点对于使用《网络规划设计师考试考前冲刺预测卷及考点解析》(2010年1月第2次印刷和2010年7月第3次印刷)的读者,在备考2010.11.13网络规划设计师考试之下午II论文考试时,以下一些论文试题及其写作思路值得大…

深入解读XML解析

一、XML是什么?有什么用?XML是指可扩展标记语言(eXtensible MarkupLanguage),它是一种标记语言。它被设计的宗旨是描述数据(XML),而非显示数据(HTML)。目前遵循的是W3C组织于2000年发…

thymeleaf 知多少

2019独角兽企业重金招聘Python工程师标准>>> 1.变量表达式 ${……} <input type"text" name"userName" value"niu" th:value"${name}" />2.URL表达式 {……} (括号内为参数&#xff0c;以“,”分割&#xff09; <…

前端 -- JavaScript设置cookie

在JavaScript中&#xff0c;使用 document.cookie 来设置 cookie 。语法&#xff1a;document.cookie" namevalue ; expireGMT_String ; pathcookieDir ; domaincookieDomain "对cookie格式的说明键/值 对说明namevalue必需。设置cookie的名称和值&#xff0c;一次只…

PM如何整合资源——来自项目管理群的讨论

梁勇-中航泰克-北京 说: 今天主题是&#xff1a;PM如何整合资源 大概分为四部分&#xff1a; 1. PM自我评估与定位&#xff1b; 2. 资源分类&#xff1b; 3. 资源整合的技巧与方法&#xff1b; 4. 总结&#xff1b; 开启尘封的记忆-知识管理-北京 说: 时间到。。…

访问chm文件出现 已取消到该网页的导航的解决方法

经常从网上下载chm文件的时候&#xff0c;双击时发现 已取消到该网页的导航&#xff0c;刚开始的时候以为是chm文件有问题&#xff0c;其实大家用下面的方法可以解决下。 最常见的问题可以用下面的方法解决&#xff1a;一&#xff1a;在chm右键 看看有没有解除锁定选项 。。应该…

nhmicro平台支持xa分布式事务执行\提交与回滚

2019独角兽企业重金招聘Python工程师标准>>> nhmicro平台支持xa分布式事务&#xff0c;执行、提交和回滚 提供以下的restfule的接口&#xff1a; 1&#xff0c;执行分布式sql http://localhost:8080/project-demo/NhEsbServiceServlet?cmdNameGroovy&subNameXa…