知乎cookies的介绍_Cookie简介
客户端和服务器端进行交互,要利用http协议,但是http协议本身是没有状态的,没有记忆功能,比如连接一次,你需要录入某个账号密码,浏览器关闭这次会话就结束了,但是我们经常用到一个功能就是记住密码那个,这个是谁完成的?或者验证 你是否登陆过的状态 啥的 ,这些技术谁帮助我们实现的?那么就需要我们接下来要讲的两个技术了:cookie和session
首先学习Cookie:
1.名字的由来:
cookie--小甜品的意思,为啥起这个个名?因为在网页中可能会出现 :你好珊珊,这会让我们感觉很亲切,就好像吃了一个小甜品一样开心(汗。。)--- 我们所说的cookie 就是浏览器的缓存
2.验证Cookie的存在----演示效果:
(1)打开谷歌搜索京东,随便将一个商品加入购物车:
(2)然后关闭谷歌浏览器,再重新打开谷歌,搜索京东并且查看购物车,看商品还在吗?在
说明了什么:说明我添加的这个购物的信息,它的信息被存在了一个地方,所以才能读取的到啊。。 那么这个信息存哪里了呢?前台还是后台呢? 不知道啊,都有可能的。。
(3)关闭谷歌,打开火狐,搜索京东然后查看购物车,商品还在吗?不在
说明了啥?这个数据肯定不是保存在后台或者数据库了,要是在后台或者数据库 ,两个浏览器肯定都可以获取到的。所以只能说明,刚才的那个数据保存在谷歌浏览器上了,保存在哪里呢?就是谷歌浏览器的缓存--Cookie
3.那我们就详细讲一下:Cookie--浏览器缓存
(1)什么是Cookie:
(先大致读一下,然后下面用代码去体会这个话的含义)
(2)根据原理在服务器端创建Cookie吧:
服务器端的Cookie是由javax.servlet.http.Cookie类封装的。
每个Cookie都是该类的对象。
服务器通过该类对象 对客户端Cookie进行操作。
API截图:(看一眼就可以)
上面的表示是:创建的cookie 是 少量的数据从Servlet---》浏览器--->server
那么我们就按照这个步骤模拟一下:
(1)创建servlet
public class CookieServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//1.在serlvet中创建一个cookie:Cookie co=new Cookie("diannao", "dell");
//2.发送至浏览器:resp.addCookie(co);
}
}
浏览器用F12查看效果:
图中效果可以看到,cookie是在服务器端产生,然后响应给了浏览器!
第二次请求:可以请求项目下的任意页面,都发现cookie携带在request请求中:
哪怕我请求一个不存在的页面,cookie都是携带在request中的:
上面的现象证明:cookie是在服务器端产生,然后响应给了浏览器,随后浏览器在访问的时候,就会携带cookie信息!
现在,我浏览器关闭,再次访问项目,发现cookie不见了:
(3)那我发现了一个问题!!!那么上面的cookie,在浏览器关闭之后就消失了,但是我们刚开始演示的那个京东购物车的那个案例,同一个浏览器即使是关闭了再打开,还是可以看到信息的呀?这两个cookie有啥不一样吗?我们不一样。。
所以浏览器关闭就没了的cookie,属于 非持久cookie 。
那么我们能否也创建一个 持久的cookie呢?
public class CookieServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//1.在serlvet中创建一个cookie:
Cookie co=new Cookie("diannao", "dell");
//2.将内存cookie变成硬盘cookie,也就是存在硬盘上:并且设置一个保存的时间:
//参数的单位是:秒
co.setMaxAge(60*2);
//3.发送至浏览器:
resp.addCookie(co);
}
}
上面发现:在两分钟以内(在设置的时间内),我们访问项目的时候一直都是有diannao的cookie的。但是两分钟后再次访问,就不在了。这就是持久cookie,当然这个持久也是有时间限制的!
上面的逻辑你要是看懂了,可以自己实现一下 三天免登陆怎么实现!不会的去网上找找代码,很多案例。。。我就不写了 我主要是讲讲cookie原理!
下一篇 再写一个session~~~bye~~~
知乎cookies的介绍_Cookie简介相关推荐
- 知乎cookies的介绍_知乎更新隐私政策:不点同意可选“仅浏览”,相关数据一月内删除...
近年来,不时出现的大型互联网公司数据外泄丑闻,让人们对企业是否有能力保护自己的隐私产生了忧虑.为了赢得消费者的信任,隐私保护在当下已然成为一家公司的核心竞争力. 不久前,苹果上线隐私数据管理网站,以便 ...
- 知乎cookies的介绍_使用cookie登陆知乎
只是想说明一个问题,Cookie可以维持登录状态,有些网页当中,访问之后的cookie里面带有登陆账号,和登陆密码,这样可以使用cookie直接访问网页,如知乎,首先登录知乎,将Headers中的Co ...
- java程序设计专业介绍_简介Java编程中的Object类
这篇文章主要介绍了简介Java编程中的Object类,是Java入门学习中的基础知识,需要的朋友可以参考下 Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每 ...
- android知乎日报中的动画,开发Android知乎日报(一)简介
对于一个新手来说开发一个完整点的项目还是会有点难度的,可是真的开发过了就会明白,其实开发一个项目,知识已知知识点的堆叠,今天我从0开始开发一个知乎日报,希望能给新手一些帮助吧.代码会同步到GitHub ...
- 知乎里怎么看个人简介_怎么写简历中的自我评价?
真的不忍心再看到这么多像我一样的失足青年...所以必须要来说两句了. [自我评价]可以说是简历上最大的雷区了,绝大部分人都踩过,然后被炸死,见不到迷人的HR... ------------------ ...
- Flink:史上最详细的介绍(一)[简介]
1.Flink简介 Flink:史上最详细的介绍(二)[架构体系] Flink:详细的不能再详细的安装步骤(三)[安装步骤] Flink:详细讲解FlinkFlink 运行架构(四)[运行架构] Fl ...
- java struts 介绍_Struts简介、原理及简单实现
struts简介 Struts是Apache软件基金会(ASF)赞助的一个开源项目.它最初是jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目.它通过采用JavaServlet/ ...
- python中cookies怎么用_Cookie在python爬虫中怎么用?Cookielib又是什么?
我们登录一个网页或者软件的时候,都要输入账号才能进入界面,随后就可以看其中的内容了.Cookie就类似于担任一个审查员的身份.对想要访问人的身份进行大大小小的审核,合格的才能放任通行,之后我们就可以愉 ...
- 华为hcie认证工程师里一定要知道的Radius 基本介绍
华为hcie认证工程师Radius 基本介绍为实现对于用户的认证.授权以及审计的工作,实现远端AAA 功能,其中一种广泛使用的方式就是利用Radius 协议.RADIUS可以实现例如以太网接入等多种用 ...
最新文章
- 开源许可证 如何工作_开源许可证的工作方式以及如何将其添加到您的项目中...
- 编解码器架构中的桥(bridge)指什么
- executeQuery,executeUpdate,execute区别
- 服务器控件中js脚本注册方法
- hdu5459(2015沈阳网络赛J题)
- 硬件:笔记本常见故障处理技巧与思路,值得收藏!
- python之路day10-命名空间和作用域、函数嵌套,作用域链、闭包
- Gradle善良:获得更多的依赖性见解
- compress命令--Linux命令应用大词典729个命令解读
- nib和xib的区别
- 【CodeForces - 195A】Let's Watch Football (追及问题,模拟)
- C#接口的使用场合,接口应用
- Playframework项目启动后自动停止问题记录
- validate使用
- 50份Word简历模板,全都免费领取,送给最需要的你
- 别乱说,算法才不是脑筋急转弯
- PDF按页拆分为PDF单页或者图片
- RFID固定资产盘点的解决方案
- 如何修改sql服务器名,修改计算机名并更新sqlserver中存储的服务器名称
- linux gnuplot 教程,图形绘制利器:Gnuplot