【cookie的简单介绍】

【cookie的简单介绍】



前言

之前在做第15个war包的时候,遇到了挺多困难,其中之一就是cookie。在通过网上查询资料学习之后整理了如下的笔记。(其实在学习过后依然还是模模糊糊的,大概整个流程稍微懂,具体到代码又头昏了呜呜呜)


一、什么是cookie?

Cookie是由我们使用浏览器访问的网站创建的文件。 该文件或cookie包含有关我们以及我们对特定网站的访问的一些信息。 Cookies是网站或Web应用程序用于存储信息的非常流行的机制,几乎每个站点都会创建一些Cookie Web浏览器。

二、cookie的作用

当我们打开一个网站后,如果我们曾经登录过这个网站,那么当我们再次打开这个网站时,就不需要再登录了,进而继续正常使用。


三、cookie的组成

cookie的组成在浏览器中展示形式:

在这里插入图片描述

rookie的常用属性的解释:

  • Name:这个是cookie的名字
  • Value:这个是cooke的值
  • Domain:域,表达这个cookie是属于哪个网站的
  • Path:这个定义了Web站点上可以访问该Cookie的目录
  • Expires:这个值表示cookie的过期时间,也就是有效值,cookie在这个值之前都有效
  • Size:这个表示cookie的大小
  • Secure:是否使用安全传输
  • HttpOnly :用于防止客户端脚本通过document.cookie属性访问Cookie,有助于保护Cookie不被跨站脚本攻击窃取或篡改。

四、Cookie的HTTP传输

cookie在HTTP请求中表现形式(正好拿第15个war包作参考):
在这里插入图片描述
Tips:我们在发送HTTP请求时,发现浏览器将我们的cookie都进行了携带(注意:浏览器只会携带在当前请求的url中包含了该cookie中path值的cookie),并且是以key:value的形式进行表示的。多个cookie用;进行隔开。
在这里插入图片描述

五、Cookie使用的常见方法

1.服务端设置:

  • new Cookie(String name, String value):创建一个Cookie对象,必须传入- - cookie的名字和cookie的值
  • getValue():得到cookie保存的值
  • getName():获取cookie的名字
  • setMaxAge(int expiry):设置cookie的有效期,默认为-1。这个如果设置负数,表示客服端关闭,cookie就会删除。0表示马上删除。正数表示有效时间,单位是秒。
  • setPath(String uri):设置cookie的作用域

HttpServletRequest和HttpServletResponse对Cookie进行操作的常见方法:

  • response.addCookie(Cookie cookie):将cookie给客户端进行保存
  • resquest.getCookies():得到客服端传过来的所有cookie对象

2.客户端设置:

既然cookie是存放在浏览器端的,所以浏览器向JS公开了接口,让其可以设置cookie

 1. document.cookie = "键=值; path=?; domain=?; expire=?; max-age=?; secure";
  • 在客户端设置cookie,大体和服务器设置cookie的格式一样,只是有下面的不同
  • 没有httponly。因为httponly本来就是为了限制在客户端访问的,既然你是在客户端配置,自然失去了限制的意义。
  • path的默认值。在服务器端设置cookie时,如果没有写path,使用的是请求的path。而在客户端设置cookie时,也许根本没有请求发生。因此,path在客户端设置时的默认值是当前网页的path
  • domain的默认值。和path同理,客户端设置时的默认值是当前网页的domain
  • 删除cookie:和服务器也一样,修改cookie的过期时间即可

总结

五一假期过了5.1就没了呜呜呜,开摆!!!

以上就是对cookie的简单介绍,若有错误还望指出。

若想了解更详细的cookie可参考此处:rookie百度百科.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值