cookie 科普 以及 探索
来源:互联网 发布:java图形界面编程ppt 编辑:程序博客网 时间:2024/05/22 17:05
什么是cookie
某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。
Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。内存cookie会随着浏览器的关闭而失效。
因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现。
Cookie就是用来绕开HTTP的无状态性的“额外手段”之一。服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器session中的状态。
以上摘自维基百科
类似Javascript变量,Cookie由变量名和值组成。
其属性里既有标准的Cookie变量,也有用户自己创建的变量,属性中变量是用“变量=值”形式来保存。
根据Netscape公司的规定,Cookie格式如下:
Set-Cookie: NAME=VALUE;Expires=DATE;Path=PATH;Domain=DOMAIN_NAME;SECURENAME=VALUE:
这是每一个Cookie均必须有的部分。NAME是该Cookie的名称,VALUE是该Cookie的值。在字符串“NAME=VALUE”中,不含分号、逗号和空格等字符。
Expires=DATE:
Expires变量是一个只写变量,它确定了Cookie有效终止日期。
该属性值DATE必须以特定的格式来书写:星期几,DD-MM-YY HH:MM:SS GMT,GMT表示这是格林尼治时间。反之,不以这样的格式来书写,系统将无法识别。该变量可省,如果缺省时,则Cookie的属性值不会保存在用户的硬盘中,而仅仅保存在内存当中,Cookie文件将随着浏览器的关闭而自动消失。
Domain=DOMAIN-NAME:
Domain该变量是一个只写变量,它确定了哪些Internet域中的Web服务器可读取浏览器所存取的Cookie,即只有来自这个域的页面才可以使用Cookie中的信息。这项设置是可选的,如果缺省时,设置Cookie的属性值为该Web服务器的域名。
Path=PATH:
Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的Cookie。一般如果用户输入的URL中的路径部分从第一个字符开始包含Path属性所定义的字符串,浏览器就认为通过检查。如果Path属性的值为“/”,则Web服务器上所有的WWW资源均可读取该Cookie。同样该项设置是可选的,如果缺省时,则Path的属性值为Web服务器传给浏览器的资源的路径名。
可以看出我们借助对Domain和Path两个变量的设置,即可有效地控制Cookie文件被访问的范围。
Secure:
在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时,浏览器才向服务器提交相应的Cookie。当前这种协议只有一种,即为HTTPS。
cookie有啥用?
- 定制个性化空间
用户访问一个站点,可能由于费用、带宽限制等原因,并不希望浏览网页所有的内容。Cookie可根据个人喜好进行栏目设定,即时、动态地产生用户所要的内容,这就迎合了不同层次用户的访问兴趣,减少用户项目选择的次数,更合理利用网页服务器的传输带宽。 - 记录站点轨迹
由于Cookie可以保存在用户机上,并在用户再次访问该Server时读回这一特性可以帮助我们实现很多设计功能,如显示用户访问该网页的次数(html5已经支持非cookie的实现);显示用户上一次的访问时间;甚至是记录用户以前在本页中所做的选择等等,这可免去我们再去研究复杂的CGI编程。 - 如果在一台计算机中安装多个浏览器,每个浏览器都会以独立的空间存放cookie。
因为cookie中不但可以确认用户,还能包含计算机和浏览器的信息,所以一个用户用不同的浏览器登录或者用不同的计算机登录,都会得到不同的cookie信息,另一方面,对于在同一台计算机上使用同一浏览器的多用户群,cookie不会区分他们的身份,除非他们使用不同的用户名登录。
在与服务器传输数据时,通过在地址后面添加唯一查询串,让服务器识别是否合法用户,也可以避免使用cookie。
SSL 并不能防止保存在用户计算机上的 Cookie 被他人读取或操作,但它能防止 Cookie 在传输途中被他人截取。
- cookie 科普 以及 探索
- 新手科普 | 探索机器学习模型,保障账户安全
- 新手科普|探索机器学习模型,保障账户安全
- 3.2 Javascript:探索客户端-cookie
- 关于cookie以及收藏夹
- FLV科普6 FLV Tag以及Tag头信息解析
- ubuntu安装anaconda各种错误和解决方案以及一些科普
- js设置cookie以及读取cookie
- Cookie小结以及Cookie的小应用
- Cookie 的路径以及 Cookie 域
- Cookie 的路径以及 Cookie 域
- cookie 操作,以及数据保存到cookie
- 存取cookie,以及cookie自然日生效
- 同源策略以及cookie安全策略
- 同源策略以及cookie安全策略
- Cookie解释以及原理分析
- Cookie解释以及原理分析
- iOS AFNetworking 以及 Cookie 详解
- vim入门历险总结:不要乱按(发狂)
- Ubuntu 10.4 下安装gSOAP安装过程和问题解决
- handler 结
- Android CTS Test
- ESET ESS/EAV 4.2.64.12 官方简体中文版下载
- cookie 科普 以及 探索
- nginx配置出错 could not build the server_names_hash, you should increase either server_names_hash_max_si
- php mysql数据库操作类
- 郑莉版c语言第六章课后习题答案
- .net调试越来越慢(不是原创,网上摘的)
- C/C++中指针和引用之相关问题研究
- SQL 查询当天,本月,本周的记录
- Win32应用程序的加载与启动分析 .
- Oracle中的大字段 Blob/Clob