探究:为什么cookie只存在于主机? (cookie只存在主机)

随着计算机技术的发展,互联网已经成为人们生活不可缺少的一部分。在浏览网页时,我们经常会遇到cookie这个名词。Cookie(又称为Web cookie、浏览器 cookie)是服务器发送到用户浏览器并存储在用户本地终端上的一小段数据。通俗地说,cookie就是服务器端传给客户端的特殊信息,浏览器端存储这个特殊信息,并在下次请求时带上该特殊信息,让服务器能够识别出是同一台设备发出的请求。而在这个过程中,“cookie 只存在于主机”的问题也成为了人们普遍关注的一个话题。

到底为什么cookie只存在于主机呢?要回答这个问题,我们需要了解cookie的特性。

1. cookie 的存储过程

在浏览器发送请求的过程中,Cookie的“生命周期”可以被分为两个阶段:一是存储,二是传输。

存储:当用户之一次访问某网站时,服务器会生成一个唯一的Cookie值并返回给用户的浏览器,浏览器将其存储在本地。随后,当用户再次访问该网站时,浏览器会带上该Cookie值向服务器发出请求。

传输:当用户访问一个网站时,浏览器会将该网站需要发送给服务器的Cookie值携带到服务器,而服务器也会将新的Cookie值发给浏览器。

2. cookie 的作用范围

Cookie的有效范围主要取决于Cookie值的存储位置。通常,Web服务器会把Cookie存储在客户端(用户的计算机)上,并在客户端操作中将Cookie值传回到服务器。Cookie值一般分为两种类型:会话Cookie和持久性Cookie。

会话Cookie:会话Cookie只存在于浏览器的内存中,等到关闭浏览器时,它就消失了。如果第二次打开浏览器访问该网站,则该网站将生成新的Cookie。

持久化Cookie:持久性Cookie存储在客户端的硬盘上,当浏览器关闭后,持久性Cookie仍然存在。这样,当下次访问该网站时,浏览器将根据以前存储的Cookie来发送请求。

3. cookie 的安全隐患

由于Cookie值存储在用户的本地浏览器上,并且可以通过特定的代码或工具查看和修改,因此会出现Cookie被窃取或者篡改的情况。如果攻击者窃取了一个存储在本地的Cookie值,他将能够利用被盗的Cookie去访问一个拥有该Cookie值的某个网站。通过这种方式,攻击者可以盗取用户的账户信息,或者执行其他的恶意行为。

如果cookie可以存在于主机之外,那么它将不可避免地面临更严重的安全问题。将cookie存储在主机上,能够对一些安全威胁进行有效防范,确保用户的隐私不被泄露。

综上所述,Cookie之所以只存在于主机,主要是为了减少安全威胁,提高用户的账户安全性。因此,虽然在使用网络时可能会遇到一些不便之处,但为了保障用户的隐私安全和数字安全,我们应该支持和遵守Cookie值只存在于主机的规定,同时留心安全威胁,提高信息防范的能力。

相关问题拓展阅读:

java,cookie不是一般在浏览器关闭时被删除吗,那他怎样保存用户的历史信息

Cookie类方法, 用族旅于设置Cookie的生命周期

public void setMaxAge(int expiry)

设置 cookie

的更大生存时间,以秒为单位。

正值表示 cookie 将在经过该值表示的秒数后过期弯穗梁。注意,该值是 cookie 过期的更大 生存时间,不是 cookie 的当前生存时间。

负值意味着 cookie 不会被持久存储,将在 Web 浏览器退出时删除埋运。0 值会导致删除 cookie。

  一、cookie机制和session机制的区别

  具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。

  同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session

  机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择

  二、会话cookie和持久cookie的区别

  如果不设置过期时间,则表示这个cookie生命周期为浏宽衡览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。

  如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。

  存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。

  三、如何利用实现自动登录

  当用户在某个网站注册后,就会收到一个惟一用户ID的cookie。客户后来重新连接时,这个

  用户ID会自动返回,服务器对它进行检查,确定它是否为注册用户且选择了自动登录,从而使用户务需给出明确的用户名和密码,就可以访问服务器上的资源。

  四、如何根据用户的爱好定制站点

  网站可以使用cookie记录用户的意愿。对于简单的设置,网站可以直接将页面的设置存储在cookie中完成定制。然而对于更复杂的定制,网站只需仅将一个惟一的标识符发送给用户,由服务器端的数据库存储每个标识符对应的页面设置。

  五、cookie的发送

  1.创建Cookie对象

  2.设置更大时效

  3.将Cookie放入到HTTP响应报头

  如果你创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie:存储在浏览器的内存中,用户退出浏览器之后被删除。如果你希望浏览器将该cookie存储在磁盘上,则

  需要使用maxAge,并给出一个以秒为单位的时间。将更大时效设为0则是命令浏览器删除该cookie。

  发送cookie需要使用HttpServletResponse的addCookie方法,将cookie插入到一个Set-CookieHTTP请求报头中。由于这个方法并不修改任何之前指定的Set-Cookie报头,而是创建新的报头,因此我们将这个方法称为是addCookie,而非setCookie。同样要记住响应报头必须在任何文档内容发送到客户端之前设置。

  六、cookie的读取

  1.调用request.getCookie

  要获取有浏览器发送来的cookie,需要调用HttpServletRequest的getCookies方法,这个调用返回Cookie对象的数组,对应由HTTP请求中Cookie报头输入的值。

  2.对数组进行循环,调用每个cookie的getName方法,直到找到感兴趣的cookie为止

  cookie与你的主机(域)相关,而非你的servlet或P页面。因而,尽管你的servlet可能只发送了单个cookie,你也可能会得到许多不相关的cookie。

  例如:

  StringcookieName=“userID”;

  Cookiecookies=request.getCookies();

  if(cookies!=null){

  for(inti=0;i

  Cookiecookie=cookies;

  if(cookieName.equals(cookie.getName())){

  doSomethingWith(cookie.getValue());

  }

  }

  }

  七、如何使用cookie检测初访者

  A.调用HttpServletRequest.getCookies()获取Cookie数组

  B.在循环中检索指定名字的cookie是否存在以及对应的值是否正确

  C.如果是则退出循环并设置区别标识

  D.根据区别标识判断用户是否为初访者从而进行不同的操作

  八、使用cookie检测初访者慎咐做的常见错误

  不能仅仅因为cookie数组中不存在在特定的数据项就认为用户是个初访者。如果cookie数组为简销null,客户可能是一个初访者,也可能是由于用户将cookie删除或禁用造成的结果。

  但是,如果数组非null,也不过是显示客户曾经到过你的网站或域,并不能说明他们曾经访问过你的servlet。其它servlet、P页面以及非JavaWeb应用都可以设置cookie,依据路径的设置,其中的任何cookie都有可能返回给用户的浏览器。

  正确的做法是判断cookie数组是否为空且是否存在指定的Cookie对象且值正确。

cookie 浏览器关闭以后不会删除 只有清空的时候才会失效

这样的情况个人建议使用360安全卫士电脑清理功能清理,清理后就可以正常。

Cookie可以设置Cookie对象的有效时间,如下:

c.setMaxAge(60);//单位为秒

如果不设置过期时间,则这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会御迅话期的cookie被称为

会话cookie

。会话cookie一般不保存在硬盘上而是保存在内存改拆皮里。

区别开来,

如果设置了过期时间,浏览器就会把cookie保存到硬盘上

,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享核差,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。

涉及到

cookie生命周期

为什么我开网站 都要提示我 “ 请求把名为cookie存放在您的计算机上”这种东西的

应该是叫你打开浏览器上的COOKIE存放,因为好握圆网站存储用户临时登录信息需要存在本地,而COOKIE是友塌程序员皮磨们的存储方式(SESSION也是基于COOKIE的)所以需要打开COOKIE,不然不能登录,刷新一下就又需要再重新登录了

是因为你的cookie 没有打开、 打开“工具”菜单 选择“选项” 选择面板左边的“隐私”按纽 在Cookies选项下选择“启用cookie” 单击“确定”保持设置 Netscape 7.1/Mozilla 5.0 从“编辑”菜单中选择“个性设置” 单击“隐私和安全性”旁的按键展开该项 在“隐私和安全性”下选择“Cookie” 选择“启用所有cookie” 单击“确定” Microsoft Internet Explorer 6.0+ 在工具菜单中单击“Internet选项” 单击“隐私”选项卡 在“设置”中点击“默认”按纽 (或手动将滑条调到“中”) 单击“确定” Microsoft Internet Explorer 5.x 在工具菜单数弊上单击“Internet选项” 单击“安洞兆全”选项卡 单击所需的 Web 内容区域,然后单击“自定义级别” 在Cookie 下 在“允许使用存储在您计算机上的 Cookie”下单击要使用的选项,单击“确定” 在“允许使用薯颤族每个对话 Cookie(未存储)”下单击所需的选项,单击“确定” 单击“确定” 请注意:由于浏览器的限制,每一个cookies文件更大容量一般为为 4 KB,订阅过多的个性化新闻新闻有可能导致cookies文件超过限制。

打开浏览器,点击工具–internet选项–隐私–高级,把cookies项打开即可。

简述cookies和session的区别

1、cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。

2、两个都可以用来存私密的东西,同样也都有有效期的说法,区别在于session是放在服务器上的,过期与否取决于服务期的设定,氏耐团cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。 

(1)、cookie数据存放在客户的浏览器上,session数据放在服务器上 ;

(2)、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session ;

(3)、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE ;

(4)、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K;

(5)、歼橘所以将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中。

3、cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。

4、cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据。

5、ession其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session其实亩氏是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。 

参考资料:

百度百科—cookies

参考资料:

百度百科—session

session和cookie区别如下:

1、存储位置不同:cookie在客户端浏览器,session在服务器。

2、存储容量不同:cookie

3、存储方式不同:ccokie只能保存ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据;session中能存储任何类型的数据,包括并不局限卜举于string、integer、list、map等。

4、隐私策略型锋碧不同:cookie对客户端是可见的,不安全,session存储在服务器上,安全。

5、有效期不同:开发可以通过设置cookie的属性,达到使cookie长期有效的效果;session依赖于名为JESSIONID的cookie,而cookie

ESSIONID的过期时间默认为-1,只需关闭窗口该session就会失效,因基晌而session达不到长期有效的效果。

6、跨域支持上不同:cookie支持跨域;session不支持跨域。

关于cookie只存在主机的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 探究:为什么cookie只存在于主机? (cookie只存在主机)