欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

cookie数据生成及使用过程

程序员文章站 2022-05-25 18:33:27
...
http是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。特点其中有无连接、无连接的含义是限制每次连接只处理一个请求。无状态是指协议对于事务处理没有记忆能力。也就是说在浏览器和服务器之间完成一次会话后,就丢弃了这个连接,浏览器和服务器都不会保存这次会话之间的状态。随着互联网的发展与商家(用户)的需求,Netscape公司引入了cookie的概念。

Cookie是保存在客户端计算机,也就是运行了浏览器的计算机中的一个短小文本文件,它用于Web站点在用户的计算机上保存信息并且以后再取回它,这些信息通常采用“名-值”对的方式存储。

Cookie文本文件的命令格式:用户名@网站地址[数字].txt(administrator@baidu[1].txt)。

例:cookie数据的生成及使用过程。
访问www.google.com网站
1.在浏览器的地址栏内输入网址www.google.com,浏览器从本地计算机上寻找google设置的cookie文件。如果找到了google的cookie文件,浏览器会把文件中的所有"名-值"对同先前的URL一同发送给google的服务器;如果没有找到,就不发关cookie数据,而只发送URL。

2.goole服务器接收到cookie数据和对网页的请求并进行判断,如果存在"名-值"对,google将使用它。

3.如果google服务器没有收到"名-值"对,它会为你创建一个新的ID并放进google的数据库中,然后"名-值"对放在要传回网页的头信息里,并传递给你。这样你的浏览器将在硬盘上的cookie文件中保存"名-值"对。

4.以google的cookie没有删除了为前提,以后每当你再次访问cookie时,服务器就会改变"名-值"对或增加新的"名-值"对。除此之外,服务器会随着"名-值"对发送一些其它的信息,主要包括生存期和路径。


COOKIE的组成:
  cookie是由"名-值"对组成的文本,一个cookie字符串中最多能够存储20个"名-值"对。对于每一个HTML文档来说,浏览器只存储一个cookie。
  在构造cookie时,制定的“名-值”对的name=value称为属性,它必须使用分号作为结束符。在组成cookie的字符串中,不允许使用分号、逗号发及空白符。HTTP Set-Cookie头的格式为:Set-Cookie:name=value;[expires=date];[path=pathname];[domain=domainame];[secure];

属性详解:
name=value:指定cookie数据项的名称。
expires=date:这是一个可选属性,它指定cookie的过期日期。其格式为:expires=weekday,DD-MON-YY HH:MM:SS GMT
path=pathname:可选择属性,指定cookie作用于特定服务器中的什么位置。在cookie中指定路径,可以使同一个域中的多个页面共享cookie。
secure:可选属性,它指明cookie是否仅通过安全HTTPS值为0或1。如值为1,则cookie只能在HTTPS连接上有效;如果为默认值0,则cookie在HTTP和HTTPS上都有效。

注:在cookie文件下,每个cookie文件都是一个简单而又普通的文本文件,而不是程序,cookie中的内容大多经过了加密处理,因此,表面看来只是一些字母和数字组合,而只有服务器的CGI处理程序才知道它们真正的含义。