面试后问题:Cookie和Session

本文详细阐述了Cookie和Session的工作原理及使用场景。Cookie由服务器生成,存储在客户端,用于跟踪用户状态。Session则存储在服务器端,通过SessionID与用户请求关联。两者在安全性、存储位置和容量上有所区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie机制

     Cookie的生成

             ① Cookie的分发是通过HTTP协议来实现的,,

             ② 服务器通过在HTTP的响应头中加上一行特殊的指示告诉浏览器按照这个指示生成对应的Cookie

      Cookie的使用

             ① 浏览器按照一定的原则把Cookie传给服务器端

             ② 原则:如果某个Cookie所声明的作用范围大于等于请求资源所在的位置,则把Cookie附带在HTTP请求头上发送给服务端

      Cookie的内容

             ① 名   值   过期时间   路径和域

             ② 路径和域构成了Cookie的作用域

             ③ 如果不设置Cookie的作用的时间的话,Cookie的生命周期为浏览器会话期间,关闭浏览器窗口,Cookie就消失,这种                             Cookie为会话Cookie

              ④ Cookie不设置时间的话,会被保存到内存中,随着浏览器的关闭而消失

              ⑤  Cookie设置时间的话会被保存到硬盘中,关闭浏览器依然会有效,超过时间的话会失效

 

Session机制

               session机制是一种服务端的机制,服务器使用一种类似于散列表的结构来保存信息

       Session的生成

                     ①当程序要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里面是否包含了一个                                session的标识(SessionId)

                     ② 如果存在的话就根据这个标识把Session给检索出来,检索不到的话就创建一个session

                     ③  如果不存在sessionID,则为这个请求创建一个session并生成一个与此session相关联的sessionID

                      ④  SessionId是唯一的,将把SessionId返回给客户端保存,放在Cookie中保存

         Session的注意

                         如果让禁止访问Cookie的话,那么sessionID不能跟随请求发送到服务器端

                          解决这个问题使用URL重写,就是把sessionID直接附在URl后面

 

Session&Cookie的区别

                   1.Session数据存放在服务器端,Cookie的数据存放在客户端浏览器

                   2.Cookie不是很安全,别人可以分析本地的Cookie进行Cookie欺骗,考虑安全的话会使用session

                   3.session会保存在服务器上,但是当访问增多的时候,session太多,会影响服务器的性能,应当使用Cookie

                   4.一个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

                   5.seesion中保存登录信息,Cookie中保存其他的需要信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值